我最近看到了很多标记为C++的问题,它们都是关于处理数组的。
甚至还有关于数组的方法/特性的问题,std::vector
不需要任何魔法就能提供这些方法/特性。
所以我想知道为什么这么多开发人员在C++中选择数组而不是std::vector
?
发布于 2010-10-23 21:14:27
因为C++03没有向量文字。使用数组有时可以生成更简洁的代码。
与数组初始化相比:
char arr[4] = {'A', 'B', 'C', 'D'};
向量初始化可能看起来有点冗长
std::vector<char> v;
v.push_back('A');
v.push_back('B');
...
发布于 2010-10-23 21:16:16
我选择C++0x中提供的std::array,而不是普通数组,后者也可以像标准数组一样使用初始化器列表进行初始化
发布于 2010-10-23 21:35:38
我认为这是因为许多C++程序员来自C语言,他们还不了解使用vector
的好处以及它的容器中免费提供的所有额外的STL好处。
https://stackoverflow.com/questions/4004015
复制相似问题