gpt4 book ai didi

c++ - 结构初始化作为参数

转载 作者:行者123 更新时间:2023-11-27 23:32:49 25 4
gpt4 key购买 nike

我尝试将一些结构发送到 STL 列表中;

struct obj {
int a;
int b;
}

list < struct obj> mylist;

struct obj a = { 0, 1};
mylist.push_back ( a);

有没有其他方法可以初始化push_back 的参数?例如:

mylist.push_back ( struct obj a ={0, 1});

g++ 告诉我:在“struct”之前需要主表达式;

最佳答案

struct obj 上定义构造函数:

obj::obj(int a, int b) // : initializers
{
// Implementation
}

使用

int val1, val2;
mylist.push_back(obj(val1, val2));

C++0x 有 new ways to initialize inline .我看到了来自 Stroustrup 的声明可以使用 std::initializer_list<T> 初始化 STL 容器在这种情况下,在你的情况下它看起来像这样 Tobj .

std::list mylist({obj(val1, val2), obj(val3, val4)});

关于c++ - 结构初始化作为参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3786213/

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