编写C++中的两个类 一个只能在栈中分配空间 一个只能在堆中分配。
来源:互联网 发布:win7如何添加网络连接 编辑:程序博客网 时间:2024/05/26 14:10
#include<iostream>using namespace std;//只能在堆上分配内存class HeapOnly{public:HeapOnly(){cout<<"Construct."<<endl;}void destory(){delete this;}private:~HeapOnly(){}};//只能在栈上分配空间class StackOnly{public:StackOnly(){}~StackOnly(){}private:void* operator new(size_t size) //将new操作符私有化,在外面无法调用{}};int main(){HeapOnly *hO=new HeapOnly();hO->destory();//HeapOnly he; //编译错误:HeapOnly::~HeapOnly”: 无法访问 private 成员(在“HeapOnly”类中声明),所以不能通过栈来分配这个对象的空间StackOnly so;//StackOnly *st=new StackOnly(); //StackOnly::operator new”: 无法访问 private 成员(在“StackOnly”类中声明)}
因为 栈 是由系统自动分配和释放的,故如果要限制在栈中分配内存的话,可以把析构函数设为私有,这样系统就不能自动调用析构函数了。
0 0
- 编写C++中的两个类 一个只能在栈中分配空间 一个只能在堆中分配
- 编写C++中的两个类 一个只能在栈中分配空间 一个只能在堆中分配。
- 编写C++中的两个类 一个只能在栈中分配空间 一个只能在堆中分配
- 编写C++中的两个类 一个只能在栈中分配空间 一个只能在堆中分配
- [面试] 编写C++中的两个类 一个只能在栈中分配空间 一个只能在堆中分配 (Very Good! tx)
- 编写C++中的两个类 一个只能在栈中分配空间 一个只能在堆中分配(腾讯2012面试题)
- 怎么限制一个类的对象实例,只能在"堆"上分配,或者只能在"栈"上分配
- [C++] 分别设计只能在栈, 堆中分配内存的类!
- 只能在堆上分配空间的类和只能在栈上分配空间的类
- 类对象只能在堆上分配空间的方法
- C++限制一个类只能在堆上或栈上分配
- 控制C++的类只能在堆分配或只能在栈分配
- 如何让类对象只能在堆(栈)上分配空间
- Java中堆内存和栈内存_在建立一个对象时从两个地方都分配内存,在堆中分配的内存实际建立这个对象,而在堆栈中分配的内存只是一个指向这个堆对象的指针(引用)。修改栈指针就可以把栈中的内容销毁.这样最快
- 如何定一个只能在堆上或者只能在栈上定义的类
- 设计一个类只能在堆(栈)上创建
- C++:1.设计一个类不能被继承 2.设计一个类只能在堆上创建对象。 3.设计一个类只能在栈上创建对象。
- C++常见知识点复习-如何限制类对象只能在堆上或者栈上分配
- iOS Developer:真机测试
- Android演进路线图--TWaver矢量小试
- 理解Linux重定向
- 善假于物,利用工具2天开发一款完整新闻类iOS app
- BZOJ 3566 SHOI2014 概率充电器 树形期望DP
- 编写C++中的两个类 一个只能在栈中分配空间 一个只能在堆中分配。
- rhel6.6替换到centos6.6源(163源)
- android 优化布局的三种形式
- 新建基于Git和Cocoapods的IOS项目(MVC模式),单身猿教你敲代码之新建项目
- Microsoft API 和参考目录
- ORA-01078: failure in processing system parameters
- IOS开发之通过官网系统学习UIKit
- IOS 第三方管理库管理 CocoaPods
- JavaScript中正则表达式test()、exec()、match() 方法区别