相关疑难解决方法(0)

使用硬编码元素初始化std :: vector的最简单方法是什么?

我可以创建一个数组并像这样初始化它:

int a[] = {10, 20, 30};
Run Code Online (Sandbox Code Playgroud)

如何创建std::vector和初始化它同样优雅?

我知道的最好方法是:

std::vector<int> ints;

ints.push_back(10);
ints.push_back(20);
ints.push_back(30);
Run Code Online (Sandbox Code Playgroud)

有没有更好的办法?

c++ stl initialization vector

577
推荐指数
19
解决办法
78万
查看次数

如何在C++中初始化向量

可能重复:
C++:使用硬编码元素初始化STL向量的最简单方法

我想像数组一样初始化一个向量.

int vv[2] = {12, 43};
Run Code Online (Sandbox Code Playgroud)

但是当我这样做的时候,

vector<int> v(2) = {34, 23};
Run Code Online (Sandbox Code Playgroud)

要么

vector<int> v(2);
v = {0, 9};
Run Code Online (Sandbox Code Playgroud)

它给出了一个错误:

在'{'标记之前预期的primary-expression

错误:预期','或';' 在'='之前

分别.

c++ arrays declaration vector

191
推荐指数
2
解决办法
62万
查看次数

如何初始化'const std :: vector <T>'就像交流数组一样

是否有一种优雅的方法来创建和初始化const std::vector<const T>类似于const T a[] = { ... }固定(和小)数量的值?
我需要频繁调用一个期望a的函数vector<T>,但这些值在我的情况下永远不会改变.

原则上我想到了类似的东西

namespace {
  const std::vector<const T> v(??);
}
Run Code Online (Sandbox Code Playgroud)

因为v不会在这个编译单元之外使用.

c++ stl

78
推荐指数
6
解决办法
9万
查看次数

标签 统计

c++ ×3

stl ×2

vector ×2

arrays ×1

declaration ×1

initialization ×1