两种类型的多维数组cpp 这个问题是关于C++的。如何生成第一行有字符串,第二行有双精度的数组?我认为它应该是无效的,但它不起作用。还有别的办法吗?干杯

两种类型的多维数组cpp 这个问题是关于C++的。如何生成第一行有字符串,第二行有双精度的数组?我认为它应该是无效的,但它不起作用。还有别的办法吗?干杯,c++,multidimensional-array,C++,Multidimensional Array,您可以使用配对,但必须给出此数组的大小。。例如: std::array<std::pair<std::string, double>, 3> dummy{{"string", 1.1}, {"foo", 2.2}, {"bar", 3.3}}; 您还可以创建一个struct并拥有一个struct数组。您可以使用对,但必须给出此数组的大小。。例如: std::array<std::pair<std::string, double>, 3> dumm

您可以使用
配对
,但必须给出此数组的大小。。例如:

std::array<std::pair<std::string, double>, 3> dummy{{"string", 1.1}, {"foo", 2.2}, {"bar", 3.3}};

您还可以创建一个
struct
并拥有一个
struct
数组。

您可以使用
,但必须给出此数组的大小。。例如:

std::array<std::pair<std::string, double>, 3> dummy{{"string", 1.1}, {"foo", 2.2}, {"bar", 3.3}};

您还可以创建一个
struct
并拥有一个
struct
数组。

使用
std::pair
数组或您自己定义的结构/类。或者如果您需要搜索,请考虑使用<代码> STD::MAP<代码> > .< /P> < P>使用一个数组:<代码> STD::配对< /代码>或您自己定义的结构/类。或者如果您需要搜索,请考虑使用<代码> STD::MAP<代码> > .< /P> < P>数组中不能有不同的类型。如果您需要两种不同的类型,有几种方法可以做到这一点

  • 您可以使用like:
    std::pair
  • 您可以使用
    struct
    class
    将不同的类型包装在一起,如:

    struct some_name
    {
        std::string string_name;
        double double_name;
    };
    
  • 你可以用一个或

  • 您可以使用两个单独的数组,一个用于
    std::sting
    部分,另一个用于
    double
    部分
  • C++11及更高版本还有
    std::tuple
    ,它类似于
    std::pair
    ,但可以用于两种以上的类型

如果在编译时知道数组的大小,我还建议使用,如果在运行时才知道数组的大小,则使用。

数组中不能有不同的类型。如果您需要两种不同的类型,有几种方法可以做到这一点

  • 您可以使用like:
    std::pair
  • 您可以使用
    struct
    class
    将不同的类型包装在一起,如:

    struct some_name
    {
        std::string string_name;
        double double_name;
    };
    
  • 你可以用一个或

  • 您可以使用两个单独的数组,一个用于
    std::sting
    部分,另一个用于
    double
    部分
  • C++11及更高版本还有
    std::tuple
    ,它类似于
    std::pair
    ,但可以用于两种以上的类型
如果您在编译时知道数组的大小,我还建议使用a,如果在运行时才知道数组的大小,则建议使用a。

您可以使用:

示例代码:使用Pair

vector <pair <string, double> > test;
test.push_back(make_pair("Age",15.6));
test.push_back(make_pair("Job",5));
cout << test[0].first<<" " << test[0].second;
向量测试;
测试。推回(配对(“年龄”,15.6));
测试。推回(配对(“作业”,5));
cout您可以使用:

示例代码:使用Pair

vector <pair <string, double> > test;
test.push_back(make_pair("Age",15.6));
test.push_back(make_pair("Job",5));
cout << test[0].first<<" " << test[0].second;
向量测试;
测试。推回(配对(“年龄”,15.6));
测试。推回(配对(“作业”,5));

难道“我认为它应该是无效的,但它不起作用”到底是什么不起作用?你试过什么吗?“我想它应该是无效的,但它不起作用。”到底什么东西不起作用?你试过什么吗?