<分区>
Possible Duplicate:
The Definitive C++ Book Guide and List
初始化类时 * 是什么意思? 通常在 AS3 中我会这样做:
MyClass myClass = new MyClass
但是我在c++中看到过这个
MyClass *myClass = new MyClass
星星有什么用?我看到它有时被使用,而其他人则没有。
标签 c++
<分区>
Possible Duplicate:
The Definitive C++ Book Guide and List
初始化类时 * 是什么意思? 通常在 AS3 中我会这样做:
MyClass myClass = new MyClass
但是我在c++中看到过这个
MyClass *myClass = new MyClass
星星有什么用?我看到它有时被使用,而其他人则没有。
最佳答案
C++ 中的星号有很多含义,这取决于它在程序中的位置。在此特定实例中,它将 myClass
的含义修改为指向 MyClass
实例的指针,而不是 实例我的类(class)
。
两者之间的区别在于,实例的生命周期在超出范围时结束,而您通过指针分配和引用的实例即使在指针超出范围后仍然有效。
这样的声明是有效的:
MyClass myClass; // no "new"
在这种情况下,不必使用new
,但实例的生命周期与变量myClass
的范围有关。
关于c++ - C++ 初始化中的 *,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12915395/