gpt4 book ai didi

c++ - 如何动态创建未定义大小的对象?

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

我正在尝试创建一个 C++ 程序,如果用户希望添加另一条记录,则在其中输入他的选择,如果是,则为该记录创建一个新对象。

因此,如果我包含构造函数,那么我该如何在每次用户需要时创建一个新对象?

(如果我给对象数组一个预定义的大小,那么构造函数将被调用,比如说 50 次并初始化所有 50 个对象,而用户可能只想输入更少)。就说吧

class grocerylist
{
float price;
char pname;
public: grocerylist(){.....} //constructor
<some code>
.....
}

main()
{
//grocerylist a[50]; this will call constructor 50 times! which is not desired

}

我的猜测是在循环中使用 new 运算符,当用户不想再输入任何记录时它会中断。但问题是,一旦它退出循环,它的作用域就会被破坏。

最佳答案

使用 std::vector 和只是 push 购物 list 。像这样的东西:

int main() {
std::vector<grocerylist> list;
[...]
while(user_wants_to_add_another_list) {
list.push(grocerylist(...));
}
}

关于c++ - 如何动态创建未定义大小的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26825067/

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