为了解释指针和引用
in this question,我写了这段代码.
MyClass& MyClass::MyInstance() { static MyClass & myLocalVariable = * new MyClass(/*parameters*/); return myLocalVariable ; }
其中一个评论,由一个真正令人印象深刻的高声誉SO用户,简单地指出:
*新总是错的.总是.
这是我第一次被告知这个问题:它是一个我们都应该知道的着名编码标准吗?背后的原因是什么?
解决方法
我通常是务实的,但这对我来说太过分了!
static MyClass & myLocalVariable = * new MyClass(/*parameters*/);
真的吗?为什么不简单:
static MyClass myLocalVariable{/*parameters*/};