如果这是一篇重复的文章,我很抱歉。希望不是这样。我搜索了很长一串问题,但它们似乎都没有真正解释清楚。
以下是内容:
int main(int,char**){
auto a = make_unique<std::string>("Hello World");
// do stuff with either &*a or a.get()
return 0;
}
&*a
和a.get()
有区别吗?我知道它们都返回原始指针值(除非重载了operator&
),但是在运行时选择其中一个是否有优势?
a
是nullptr
,那么&*a
不就是0吗? - Born2Smileget
,因为这是它的用途,更清晰地传达了意图,并且更易于阅读。 - sp2danny