C++用类名创建对象和new创建对象的区别

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;
}
  • 7
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值