gpt4 book ai didi

c++ - 哪一个是更好的做法?

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

假设我有一个 FOO 类。

我想要一个 FOO 的 std::vector

如果我这样做会更好吗:

FOO foo;
foo.init();
foo.prop = 1;
std::vector<FOO> myvec;

myvec.push_back(foo);
foo.prop = 2;
myvect.push_back(foo);

还是更好的做法:

std::vector<FOO> myvec;
FOO foo;
myvec.push_back(foo);
myvec.back().init();
myvec.back().prop = 1;

myvec.push_back(foo);
myvec.back().init();
myvec.back().prop = 2;

我基本上不确定制作模型并插入模型是否比制作实例、插入它然后从 vector 修改它更好。还有,哪个更安全,最不可能导致内存泄漏?

谢谢

最佳答案

最佳实践是不要有 init() 函数——你需要一个构造函数。如果你总是需要设置 prop,给构造函数一个参数来完成它。这与 vector 没有任何关系 - 这是所有 C++ 代码的编写方式。

关于c++ - 哪一个是更好的做法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3175832/

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