在cpp中声明向量数组
declaring array of vectors in cpp
我是cpp STL的新手,我对矢量数组有疑问当我们声明像vectors <int> arr[100];
这样的向量数组时我们也可以将其称为2-D矩阵。但如果我们谈论二维数组(int prr[100][100]
),然后是prr[0]
,那么它将打印第0行中第一个数组的地址基本上,我想问为什么我们要声明vector <int> arr[100]
,因为arr[0]
也会将数组的地址存储在第0个数组我们应该像vector <int*> arr[100]
一样声明向量数组
但如果我们谈论二维数组(
int prr[100][100]
),然后是prr[0]
,那么它将打印第0行中第一个数组的地址
在某种程度上和某些情况下都是这样。
prr[0]
是int [100]
类型的对象——100个int
s的数组。
在某些情况下,prr[0]
衰减为指向其第一个元素的指针,但并不总是正确的。
sizeof(prr[0])
将是100 * sizeof(int)
&prr[0]
的类型为int (*)[100)
,指针指向"100个int
的数组",而不是int**
。
相反,
基本上,我想问我们为什么要声明
vector <int> arr[100]
,因为arr[0]
也将在第0个数组存储数组的地址,我们应该像声明向量数组的vector <int*> arr[100]
一样声明
否,arr[0]
不会将数组的地址存储在第0个数组。CCD_ 23属于CCD_。就这么简单。与数组不同,std::vector<int>
类型的对象在任何上下文中都不会衰减为指向对象第一个元素的指针。因此,任何与CCD_ 26的进一步比较都没有意义。
相关文章:
- 如何在向量数组中插入元素?
- 不同大小的向量数组的大小 cpp
- 很好的语法来获取对向量/数组数据的大小引用?
- 指向 c++ 中的向量数组并将其发送到函数的指针
- 初始化向量数组,其中每个向量的大小为 0
- 在这里,当我们比较 if(vc[i]==vc1[i]) 时,它是向量数组. 实际上比较的值是多少,
- 如何使用结构体的向量数组?
- C++:向量数组
- 在C++中通过引用传递向量数组
- 向量数组"Cannot access memory at address"
- 构造不同类型的C++向量数组
- 向量数组的均值和众数 - 如何对函数进行较小的改进
- C++:初始化(新)一个不同初始大小的向量数组
- 五个中三个最大参数的平均值,不使用排序算法或向量/数组
- 销毁C++中的向量数组
- 继承向量/数组/列表并更改其大小
- 如何输出属于向量数组的结构字符串
- 如何通过引用传递向量数组
- 在向量数组中获得前五个最大的结果
- 为什么"new vector<int>[5]"不创建向量数组?