Mar*_*rio 5 c++ stl initialization vector
尝试默认初始化 std::vector
#include <iostream>
#include <vector>
int main()
{
class Options
{
std::vector<int> items{100};
} options ;
std::cout << "Size:" << options.items.size() << " Items[0]:" << options.items[0] << '\n';
return 0;
}
Run Code Online (Sandbox Code Playgroud)
这将打印:
尺寸 1:项目 [0]:100
但这不是我想要的,我希望向量的大小为 100。
我设法做到了
class Options
{
std::vector<int> items{ std::vector<int>(100) };
} options ;
Run Code Online (Sandbox Code Playgroud)
但我觉得一定有“更好”的方式?
问候,
在类的主体中初始化类成员的唯一方法是大括号或相等地初始化它。这意味着你可以做
std::vector<int> items{ std::vector<int>(100) };
Run Code Online (Sandbox Code Playgroud)
或者
std::vector<int> items = std::vector<int>(100);
Run Code Online (Sandbox Code Playgroud)
如果您不喜欢这些选项中的任何一个,那么您可以向类构造函数添加一个初始值设定项并具有
class Options
{
Options() : items(100) {}
std::vector<int> items;
} options ;
Run Code Online (Sandbox Code Playgroud)
但我个人会改用前两个选项。
| 归档时间: |
|
| 查看次数: |
200 次 |
| 最近记录: |