相关疑难解决方法(0)

在C++中std :: vector与std :: array

C++中的a std::vector和a有什么区别std::array?什么时候应该优先于另一个?各自的优点和缺点是什么?我的所有教科书都列出了它们是如何相同的.

c++ arrays vector

269
推荐指数
5
解决办法
12万
查看次数

数组应该在C++中使用吗?

由于std::liststd::vector存在,是有什么原因在C++中使用传统的C数组,还是应该尽量避免,只是喜欢malloc

c++ arrays conventions

95
推荐指数
5
解决办法
2万
查看次数


你什么时候使用数组而不是矢量/字符串?

我是初学C++程序员,所以我学会了使用数组而不是向量(这似乎是做事情的一般方法,然后转向向量).

我注意到很多关于SO的答案建议使用向量而不是数组,而字符串则用于char数组.看来这是用C++编写代码的"正确"方法.

总而言之,它何时值得使用经典数组/ char*(如果有的话)?

c++ arrays string vector

11
推荐指数
3
解决办法
7268
查看次数

在堆栈c ++上声明固定大小的字符数组

我试图在堆栈上创建一个固定大小的字符数组(它确实需要堆栈分配).我遇到的问题是我无法让堆栈为数组分配超过8个字节:

#include <iostream>
using namespace std;

int main(){
        char* str = new char[50];
        cout << sizeof(str) << endl;

        return 0;
}
Run Code Online (Sandbox Code Playgroud)

版画

8
Run Code Online (Sandbox Code Playgroud)

如何在堆栈上分配固定大小的数组(在这种情况下为50个字节但可能是任何数字)?

c++ stack memory-management

4
推荐指数
2
解决办法
9083
查看次数

当它只包含两个元素时,使用std :: vector是否有效?

我正在构建一个C++类A,需要包含一堆指向其他对象的指针B.

为了使类尽可能通用,我std::vector<B*>在这个类中使用了一个.这样B就可以保留任意数量的不同A(对可以有多少个没有限制).

现在这可能有点过分,因为大多数时候,我将使用A只能B*在向量中包含2或4 的类型的对象.

由于将要进行大量的迭代计算,涉及类的对象A,我想知道B当只B需要两个时,使用s 的向量是否涉及很多开销.

当存在少于3个时,我是否应该重载该类以使用另一个容器B

使事情变得更清楚: A 是多极并且 B 是磁性线圈,构成多极

c++ vector

0
推荐指数
1
解决办法
213
查看次数

标签 统计

c++ ×6

arrays ×3

vector ×3

c ×1

conventions ×1

memory-management ×1

stack ×1

string ×1