c++ 小技巧(五)

16.静态成员变量和静态成员函数

  • 如果在类中使用static修饰一个静态成员变量,(不在栈上开,不在堆上开,而是在静态区)
  • 静态成员变量初始化一定要写在类的外边 int AA::m_c =0;(和私有/共有没有关系)
  • m_c 只是属于AA整个类,而不是属于a1,和a2
  • static void test() 说明这个函数只能在该文件中可见,其他文件调用这个函数不可以,多文件编程不可以,静态成员函数也是属于整个类的AA,而不是属于a1,和a2
  • 静态成员函数怎么当左值;
  • 只有普通成员变量才能占用内存空间,全部相加然后进行对齐补缺,static和函数不占用类的大小

17.new 和delete

new delete C++   ---在heap上面创建变量
malloc(sizeof(int)) free(p)  C  ----在heap上面创建变量

区别

  • malloc free是c标准库的函数 //new, delete是c++函数的操作符,(效率快,没有压栈)
  • 如果使用malloc 必须另外初始化,但是new在堆上初始化一个对象的时候,会触发对象的构造函数做初始化
  • malloc并不会能触发对象的析构函数,delete可以触发对象的析构函数
  • new返回的是一个指针
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值