【面试题】【c++】 实现只能在堆上实例化的类
来源:互联网 发布:心神战机 知乎 编辑:程序博客网 时间:2024/06/07 08:34
这题目面试官的愿意是考察的是C++对象的生命周期。
也就是,栈对象在离开作用域时会析构。
对于如下的代码:
Class A {};void func(){ A a; //do something}经过编译后,会在最后插入析构函数:
void func(){ A a; //a.A::A(); //do something a.A::~A();}
因此将析构函数声明为私有函数后,在编译时会提示错误。
Class A{private: ~A() {};};void func(){ A a; //无法通过编译 A* p = new A();//编译正常}
这样的用法,无法释放对象。
重载new与delete也会遇到权限问题。
实践中有没有别的方法呢?
- 【面试题】【c++】 实现只能在堆上实例化的类
- 设计一个只能在堆上或栈上实例化的类
- 设计一个只能在堆上或栈上实例化的类
- 设计一个只能在堆上或栈上实例化的类
- 设计一个只能在堆上或栈上实例化的类
- 设计一个只能在堆上或栈上实例化的类
- 设计一个只能在堆上或栈上实例化的类
- 限定只能在栈或堆上实例化的类
- 怎么限制一个类的对象实例,只能在"堆"上分配,或者只能在"栈"上分配
- [C++]限制一个类的对象只能在栈或堆上创建
- 如何定一个只能在堆上或者只能在栈上定义的类
- 构造函数定义为private,protected 与 一道面试题:只能实例化一次的类
- 设计只能在堆或者栈上创建的类
- 设计只能在堆或者栈上创建的类
- 设计只能在堆或者栈上创建的类
- 类对象只能在堆上分配空间的方法
- 只能在堆(栈)上创建的类
- 程序员面试题--堆排序的C语言实现
- jquery ajax
- C++字符串相关整理
- Qt 下的Tcp和Udp通信小结
- spring hibernate 二级缓存
- Eclipse背景颜色修改
- 【面试题】【c++】 实现只能在堆上实例化的类
- 像素操作
- eclipse如何导入源码所有应用
- 实习第18天
- Testing the CATCHER (P1887)
- Android入门:广播接收者应用(电话拦截器)
- int 与 integer的区别
- load average
- 和菜鸟一起学linux之input系统简单实例