gpt4 book ai didi

c++ - 初始化列表的简单示例

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:36:07 25 4
gpt4 key购买 nike

我正在寻找一个如何使用初始化列表的简单示例。这是我想要做的:我有以下类(class):

class foo{
public:
void set_x(const int ix);
void set_y(const int iy);
void display();
private:
int x;
int y;
};

我想通过以下方式创建此类的对象:

foo fooObj = {1, 2};

我知道在 C++11 中使用 vector 是可能的。我该如何实现这种行为?

最佳答案

在这种情况下,一个简单的构造函数将起作用:

foo(int x, int y) : x(x), y(y) {}

如果该类是一个更简单的聚合(如果数据成员是公共(public)的,那么您的类就是这样)那么您甚至不需要它 - 这种初始化方式将初始化聚合的每个成员反过来。

对于更复杂的东西,例如 vector,其中参数的数量可能会有所不同,您需要使用 initializer_list。包括标题:

#include <initializer_list>

和一个构造函数

foo(std::initializer_list<int>);

该类型就像一个容器,使用 begin()end()size() 函数来访问其内容。

关于c++ - 初始化列表的简单示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27321186/

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