C++ 如何在没有循环的情况下初始化std::vector? std::vector v; 对于(size_t i=0;i
您可以使用具有大小的构造函数。这将初始化所有元素的值。对于C++ 如何在没有循环的情况下初始化std::vector? std::vector v; 对于(size_t i=0;i,c++,vector,initialization,std,cycle,C++,Vector,Initialization,Std,Cycle,您可以使用具有大小的构造函数。这将初始化所有元素的值。对于int这意味着零初始化: std::vector<int> v; for (size_t i=0; i<100; i++) v.push_back(0); std::vector v(100);//100个值为0的元素 如果需要不同的数字,则可以传递第二个参数和所需的值: std::vector<int> v(100); // 100 elements with value
int
这意味着零初始化:
std::vector<int> v;
for (size_t i=0; i<100; i++)
v.push_back(0);
std::vector v(100);//100个值为0的元素
如果需要不同的数字,则可以传递第二个参数和所需的值:
std::vector<int> v(100); // 100 elements with value 0
std::vector v(100,42);//100个值为42的元素
您可以使用具有大小的构造函数。这将初始化所有元素的值。对于int
这意味着零初始化:
std::vector<int> v;
for (size_t i=0; i<100; i++)
v.push_back(0);
std::vector v(100);//100个值为0的元素
如果需要不同的数字,则可以传递第二个参数和所需的值:
std::vector<int> v(100); // 100 elements with value 0
std::vector v(100,42);//100个值为42的元素
< /代码> 如果您想在构造上初始化,请考虑@ JuangopaZa的答案;但是如果您想在代码的任何其他部分中为“代码>向量\代码”中的所有记录设置相同的值,则可以考虑采用.< /P>
如果您想在构造上初始化,请考虑@ JuangopANZA的答案;但是,如果您想设置SA,请参见在代码中的所有记录中的ME值在代码的任何其他部分中都可以考虑采用。
您不想这样做。<代码> V.Resisith'(value)<代码>或<代码> v.插入(v.Enter),n,value)
将是更好的解决方案。通常的原因是:当容器存在时,如果没有其他原因,总是选择容器的成员函数会更有效。(在这种情况下:resize
或insert
将不会执行多个重新分配。std::fill
可以执行许多操作。)您不想这样做。v.resize(value)
或v.insert(v.end(),n,value)
将是更好的解决方案。通常的原因是:当容器存在时,始终首选容器的成员函数,如果没有其他原因,那么它将更有效。(在这种情况下:resize
或insert
将永远不会执行多个重新分配。std::fill
可以执行许多操作。)