- 博客(5)
- 收藏
- 关注
原创 More Effective C++ 条款27(下)
条款27:要求或禁止在堆中产生对象(下)到目前为止,这种逻辑很正确,但是不够深入。最根本的问题是对象可以被分配在三个地方,而不是两个。是的,栈和堆能够容纳对象,但是我们忘了静态对象。静态对象是那些在程序运行时仅能初始化一次的对象。静态对象不仅仅包括显示地声明为static的对象,也包括在全局和命名空间里的对象(参见条款47)。这些对象肯定位于某些地方,而这些地方既不是栈也不是堆。它们的位置
2001-11-15 22:21:00
1147
原创 More Effective 条款27(上)
条款27:要求或禁止在堆中产生对象(上)本文含有图片,无法贴上,请下载WORD文档阅读。下载有时你想这样管理某些对象,要让某种类型的对象能够自我销毁,也就是能够“delete this.” 很明显这种管理方式需要此类型对象要被分配在堆中。而其它一些时候你想获得一种保障:“不在堆中分配对象,从而保证某种类型的类不会发生内存泄漏。”如果你在嵌入式系统上工作,就有可能遇到这种情况,发生在嵌入式系
2001-11-15 22:20:00
987
原创 More Effective C++ 条款25
技巧本书涉及的大多数内容都是编程的指导准则。这些准则虽是重要的,但是程序员不能单靠准则生活。有一个很早以前的卡通片叫做“菲利猫”(Felix the Cat), 菲利猫无论何时遇到困难,它都会拿它的trick包。如果一个卡通角色都有一个trick包,那么C++程序员就更应该有了。把这一章想成你的trick包的启动器。当设计C++软件时,总会再三地受到一些问题的困扰。你如何让构造函数和非成员
2001-11-05 11:44:00
1260
原创 More Effective C++ 条款26(下)
条款26:限制某个类所能产生的对象数量(下) 允许对象来去自由我们知道如何设计只允许建立一个实例的类,我们知道跟踪特定类的对象数量的工作是复杂的,因为在三种不同的环境中都可能调用对象的构造函数,我们知道消除对象计数中混乱现象的方法是把构造函数声明为private。还有最后一点值得我们注意:使用thePrinter函数封装对单个对象的访问,以便把Printer对象的数量限制为一个,这样做的同
2001-11-05 11:40:00
1516
原创 More Effective C++ 条款26(上)
条款26:限制某个类所能产生的对象数量(上)你很痴迷于对象,但是有时你又想束缚住你的疯狂。例如你在系统中只有一台打印机,所以你想用某种方式把打印机对象数目限定为一个。或者你仅仅取得16个可分发出去的文件描述符,所以应该确保文件描述符对象存在的数目不能超过16个。你如何能够做到这些呢?如何去限制对象的数量呢?如果这是一个用数学归纳法进行的证明,你会从n=1开始证明,然后从此出发推导出其
2001-11-05 11:38:00
1251
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人