• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
Tomato
博客园 | 首页 | 新随笔 | 新文章 | 联系 | 订阅 订阅 | 管理

2005年4月23日

Effective C++系列(3):Constructors,Destructors and Assignment Operators 条款11
摘要: Item11:Declare a copy constructor and an assignment operator for class with dynamically allocated memory. 在编译器默认为你生成的拷贝构造函数和赋值操作运算赋中,他们执行的都是memberwise assignment,所以对在该类中动态分配而来的内存,关于其上的引用和指针都只是被简单的复制... 阅读全文
posted @ 2005-04-23 20:19 Tomato Cliff 阅读(434) 评论(0) 推荐(0)
 
Effective C++系列(2):Memory Management 条款9~10
摘要: Item9:Avoid hiding the "normal" form of new. 两个解决之道: 1.在class中重载一个operator new ,并内联调用::operater new。 2.为operater new的每一个额外参数提供默认参数值。 Item10:Write operator delete if you write operator new. ... 阅读全文
posted @ 2005-04-23 20:06 Tomato Cliff 阅读(568) 评论(0) 推荐(0)
 
Effective C++系列(2):Memory Management 条款8
摘要: Item8:Adhere to convention when wrting operator new and operator delete. 几个值得注意的地方: 1.C++ standard要求,即使用户要求的是0 byte内存,operator new也应该传回一个合法指针。 2.取得错误处理函数的指针 的技巧。 new_handler globalhandler = s... 阅读全文
posted @ 2005-04-23 19:46 Tomato Cliff 阅读(495) 评论(0) 推荐(0)
 
 

2005年4月18日

Effective C++系列(2):Memory Management 条款7
摘要: 条款7:Be prepared for out-of-memory conditions 当operator new没有能力配置出你要求的内存时,会丢出一个异常。 C习惯做法:定义一个与型别无关的宏,用来配置内存,并做检查,以确定配置成功。 对C++而言,这个宏形如这样: #define new(ptr, type)\ try { (ptr) = new type; ... 阅读全文
posted @ 2005-04-18 17:26 Tomato Cliff 阅读(536) 评论(0) 推荐(0)
 
 

2005年4月17日

Effective C++系列(2):Memory Management 条款5~6
摘要: 条款5:Use the same form in corresponding uses of new and delete 值得提出的三点: 1.调用new和delete会有两件事发生。 2.使用delete时,如未加中括号,则delete便假设删除对象是单一对象,否则便假设删除对象是个数组。 3.最好尽量不要对数组型别做typedef 动作。 条款6:Use delete on pointe... 阅读全文
posted @ 2005-04-17 00:59 Tomato Cliff 阅读(536) 评论(0) 推荐(0)
 
Effective C++系列(1):条款1~4 Shifting from C to C++
摘要: 条款1:Prefer const and inline to #define 其实更为恰当的讲,这个条款的更一般性的原则是:尽量以编译器(complier)取代预处理器(preprocessor)。 先说简单的,用预处理器中的#define指令实现宏——一种看起来像是函数,但不会带来函数调用的开销。 在这种情况下,运算的优先次序可能会被打乱。故而应当inline函数以取代#defin... 阅读全文
posted @ 2005-04-17 00:26 Tomato Cliff 阅读(531) 评论(0) 推荐(0)
 
 

2005年4月15日

原版书 VS. 中文译版——Compromise:折中之道
摘要: 看了不少书,而且几乎都是翻译过来的。有译的很好的。也有实在是差强人意的。不论是学校里的老师,还是在网上,似乎大家都一直推崇那种直接看原版书的人。恩,诚然,如果英文真好到那种程度着实是令人羡慕的。 可是,对于大多数中国人来说,特别是我们这个行业真正从事在开发第一线的大多数本科学历(及以下)的开发人员来说,直接读原版书,未免有些强人所难。 学习一门知识,不仅... 阅读全文
posted @ 2005-04-15 10:35 Tomato Cliff 阅读(739) 评论(0) 推荐(0)
 
 

公告


博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3