- 博客(6)
- 资源 (4)
- 收藏
- 关注
原创 Guru of the Week 条款25:auto_ptr
GotW#25 auto_ptr难度:8/10问题考虑下面的代码:那些是好的,那些是安全的,那些是合法的, 那些是非法的?auto_ptr source() { return new T(1); } void sink( auto_ptr pt ) { } void f() { auto_ptr a( source() );
2002-08-05 10:20:00 1337
原创 Guru of the Week 条款27:转呼叫函数
GotW#27 转呼叫函数(Forwarding Functions)难度:3 / 10 怎样将转呼叫函数写得最好?原本答案很简单,但我们已经知道C++语言近来发生了微妙的变化。问题转呼叫函数对于将任务传递给其它函数或对象时很有用,尤其当它们被设计得很高效时。评论一下下面这个转呼叫函数。你试图修改它吗?如果是的话,怎么来? // file f.cpp #
2002-08-05 10:20:00 1299
原创 Guru of the Week 条款28:“Fast Pimpl”技术
GotW #28“Fast Pimpl”技术(The "Fast Pimpl" Idiom)难度:6 / 10采用一些称为“低依赖度”或“效能”方面的捷径,在很多时候颇有诱惑力,但它不总是好主意。这儿有个很精彩的方法能在客观上同时并安全的实现二者。问题标准的malloc()和new()调用的开销都是很大的。在下面的代码中,程序员最初在class Y中设计了一个类型X的成员:
2002-08-05 10:18:00 1567
原创 Guru of the Week 条款29:不区分大小写的string
GotW#29 不区分大小写的string (Case-Insensitive Strings)难度:7/10你期望一个不分大小写的字符串类型吗?你的使命是,应该选个现成的并接受它,还是自己写一个。问题写一个不分大小写的字符串类型,它其它方面都与标准库中的“string”类相同,只是在大小写区分上和(非标的,但被广泛使用的)C函数stricmp(): ci_strin
2002-08-05 10:17:00 1853
原创 Guru of the Week 条款30:名称搜索
GotW#30 名称搜索(Name Lookup)难度:9.5 / 10当你调用一个函数时,到底调的是哪一个?其答案取决于“名称搜索”,但你肯定会发现其细节非常令人吃惊。问题在下面的代码中,调用的是哪个函数?为什么?分析一下影响。 namespace A { struct X; struct Y; void f( int );
2002-08-05 10:14:00 1493
原创 Guru of the Week 条款30附录:接口原则
(至此,GotW1~30即《Exceptional C++》的原型,补全。)Herb Sutter在March 1998于C++ Report上发表的文章《Whats In a Class - The Interface Principle》,属《Exceptional C++》的Item 32~34。接口原则(the Interface Principle)类里面是什么?-接口原则
2002-08-05 10:13:00 1479
编译宏控过滤和宏替换工具stedit1.2.5pro
2013-02-20
统计函数平均长度和最大长度
2009-06-16
统计函数平均长度和最大长度
2009-06-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人