【发布时间】:2011-11-01 21:27:37
【问题描述】:
将其与其他语言区分开来的 C++ 功能之一是能够将复杂对象分配为成员变量或局部变量,而不必总是使用 new 分配它们。但这会导致在任何给定情况下选择哪个的问题。
是否有一些好的标准来选择如何分配变量?什么时候应该将成员变量声明为直接变量而不是引用或指针?我什么时候应该使用new 分配变量而不是使用在堆栈上分配的局部变量?
【问题讨论】:
-
你明白值和指针有不同的语义吗?这应该是您的第一个决策点。
-
@R.MartinhoFernandes:我很清楚这一点。但是在几乎所有可以拥有值语义的地方,你也可以拥有指针语义。毕竟指针只是一个值。
标签: c++ memory-management scope c++11 software-design