C/C++面试拷问灵魂知识点(只给出标题和简单的解答 持续更新)

相关的链接

C/C++:
https://www.cnblogs.com/hcr1995/p/9646379.html
https://blog.csdn.net/kuweicai/article/details/82779648

c++指针问题(比如指针的初始化问题)

没有初始化的指针应该指到null去;
释放了内存的指针,也应该指到null去。

c++中const问题

c++中static问题

C++中有了malloc / free , 为什么还需要 new / delete

malloc是库函数,而new是运算符。对象在创建的‭时候需调用构造函数,对象在释放的时候,需要调用析构函数。由于malloc是函数,所以不能由编译器把构造和析构的功能强加给malloc。而使用new的时候,会自动的调用构造函数,使用delete的时候会自动的调用析构函数。所以不要试图使用malloc来管理对象内存,而应该使用malloc。

那反过来说,已经有了new/delete了为什么还要malloc/free。
因为c++中经常需要调用c中的代码,所以需要malloc/free。

类的静态成员变量和静态成员函数各有哪些特性✳

静态成员变量属于整个类所有,所有对象共享类的静态成员变量
静态成员变量的生命周期不依赖于任何对象
可以通过类名和对象名访问public静态成员变量

静态成员变量的定义:
静态成员变量在类的内部声明,声明时直接通过static关键字修饰
静态成员变量在类的外部定义与初始化,语法规则为Type ClassName::VarName = value;
静态成员变量不占用类的大小,而是在类外(全局数据区)单独分配空间

与静态成员变量类似,静态成员函数是类中特殊的成员函数:
静态成员函数属于整个类所有
可以通过类名和对象名访问publ

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值