我开始从 Java 背景学习 C++,一个很大的不同是我不再被迫:
就像在 Java 中一样。但是我不知道什么时候应该做什么 - 你能建议吗?
目前我很想开始做Java风格的一切
Thing *thing = new Thing();
thing->whatever();
// etc etc
最佳答案
不要使用指针,除非你知道为什么需要它们。如果你只需要一个对象一段时间,在堆栈上分配它:
Object object;
object.Method();
如果需要将对象传递给函数,请使用引用:
int doStuff( Object& object )
{
object.Method();
return 0;
}
仅在需要时使用指针
如果您使用指针,您需要在不再需要这些对象时以及在指向该对象的最后一个指针变得无法访问之前释放对象,因为 C++ 没有内置垃圾收集。为了简化这一点,请使用智能指针行 std::auto_ptr 或 boost::shared_ptr。
关于java - 我应该如何选择在 C++ 中存储对象的位置?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1399532/