在大多数情况下,你应该让 vector 自动管理自己的内存,就像我们在上面程序中所做的那样。但是,在注重时间的任务中,改写默认的分配方案也是很有用的。假......
2008-03-11 关键字:forwarding function(转调函数)的另一个功效是用于老式的编译器,它们(不正确地)不支持用 using declarations 将“通过继承得到的名字”引入到 derived cla......
2008-03-11 关键字:单步执行后,我们可以看到ecx中的值为:0x0012F633,这个地址也就是obj对象布局中的祖父类部分的起始地址。通过上面的布局分析我们知道 C150起始的偏移值指针指向的值为15,即对象起始到共享......
2008-03-11 关键字:当我学完这一段的时候发现他竟然不能用在我的project里,因为我的project里要管理的这个object可能有几个copy(数量确定)。那么就需要把上面的概念稍微扩展一下。......
2008-03-11 关键字:最后一行覆盖了多余的小数位,它使用了\0常量来截断字符串,要注意,string对象的数据可以包含nul字符;而字符串的实际长度由size()的返回值决定。因此,你不能假定字符串已被正确地格式化,换句话......
2008-03-11 关键字:这样做是因为编译器在不同的语句之间重新安排操作顺序的活动余地比在一个语句之内要小得多。"new Widget" 表达式和 tr1::shared_ptr 的构造函数的调用与 priority 的调用在......
2008-03-11 关键字:并非所有的基类都被设计用于多态。例如,无论是标准 string 类型,还是 STL 容器类型都被完全设计成基类,可没有哪个是多态的。一些类虽然被设计用于基类,但并非被设计用于多态。这样的类——例如Un......
2008-03-11 关键字:将调用 close 的责任从 DBConn 的析构函数转移到 DBConn 的客户(同时在 DBConn 的析构函数中包含一个“候补”调用)可能会作为一种肆无忌惮地推卸责任的做法而刺激你。你甚至可以......
2008-03-11 关键字:拷贝底层的资源。有时就像你所希望的你可以拥有一个资源的多个副本,唯一的前提是你需要一个资源管理类确保当你使用完它之后,每一副本都会被释放。在这种情况下,拷贝一个资源管理对象也要同时拷贝被它隐藏的资源。......
2008-03-11 关键字: