C++用类名创建对象和用new创建对象的区别
—、区别:
1.用类名创建对象,是使用的stack空间,而使用new创建对象则使用的heap的空间;
2.使用new创建对象,用完之后必须要delete。并且要把指针置为NULL;用类名创建的对象,使用完后,系统自动销毁,不会存在系统泄露的问题。
3.new创建的对象是使用指针来接受,一处初始化,多处使用。
4.对于频繁使用的场合,不建议使用new来创建。
二、示例代码
#include"iostream"
#include "string"
using namespace std;
class CTest
{
public:
int mTemp;
public:
void printSomething();
};
void CTest::printSomething()
{
cout << "Hello World!" << endl;
}
int main()
{
CTest mTest1;
mTest1.mTemp = 1;
mTest1.printSomething();
CTest *mTest2;
mTest2->mTemp = 2;
mTest2->printSomething();
if(NULL != mTest2)
{
delete mTest2;
mTest2 = NULL;
}
return true;
}