gpt4 book ai didi

c++ - 如何默认初始化 std::vector

转载 作者:行者123 更新时间:2023-12-02 04:29:38 25 4
gpt4 key购买 nike

尝试默认初始化 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;
}

这将打印:

尺寸 1:元素[0]:100

但这不是我想要的,我希望 vector 的大小为 100。

我成功做到了

class Options
{
std::vector<int> items{ std::vector<int>(100) };
} options ;

但我感觉一定有“更好”的方法?

问候,

最佳答案

在类主体中初始化类成员的唯一方法是用大括号或等号对其进行初始化。这意味着你可以这样做

std::vector<int> items{ std::vector<int>(100) };

std::vector<int> items = std::vector<int>(100);

如果您不喜欢这些选项中的任何一个,那么您可以向类构造函数添加一个初始值设定项并具有

class Options
{
Options() : items(100) {}
std::vector<int> items;
} options ;

但我个人会使用前两个选项。

关于c++ - 如何默认初始化 std::vector,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59634658/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com