gpt4 book ai didi

c++ - 如何初始化结构的 vector 成员?

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:53:33 24 4
gpt4 key购买 nike

假设我有一个结构,其中一个成员是 vector 。在构造函数中,我只想将它设置为 NULL。但后来我希望能够 push_back 东西给它。 vector 为 NULL 后如何初始化它?

struct structName {
vector<int> vec;
structName() {
vec = NULL
}
void set(int);
}

void structName::set(int n) {
// What do I put here?
vec.push_back(n);
}

感谢您的帮助!

最佳答案

它已经通过默认构造函数初始化,如果您需要调用不同的构造函数,请使用初始化列表。

请记住,这是 C++,而不是 Java/C#/其他任何东西。 object 为 null 是没有意义的(好吧,它在那些语言中也不是,但请继续阅读)。这不可能发生。在 Java 和类似的语言中,您有一些变量,这些变量是对对象的引用,而那些引用(不是对象!)可能为 null,也可能不为 null。

在 C++ 中不是这样。对象和引用它们的指针之间存在严格的划分(当然,指针可以为空或引用无效的内存位置)。

关于c++ - 如何初始化结构的 vector 成员?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13168479/

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