07day---C++面试题

本文探讨了C++中指针变量自加运算后的地址偏移值与数据类型的关联,及如何通过设置析构函数为私有实现类对象仅能通过new创建。深入解析了类的内存分配机制。

1.指针变量P进行自加运算(即执行P++)后,地址偏移值为1,则其数据类型为char,说法是正确
解:
class A{

};
对于一个什么都没有的类,字节也为1

2.在C++中,为了让某个类只能通过new来创建(即如果直接创建对象,编译器将报错),应该 将析构函数设为私有
解:
编译器在为类对象分配栈空间时,会先检查类的访问性,其实不光是析构函数,只要是非静态的函数,编译器都会进行检查
如果类的析构函数是私有的,则编译器不会再栈空间上为类分配内存。
将析构函数设为私有,类对象就无法建立在栈(静态上)上了,只能在堆上(动态new)分配类对象。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值