C++
农夫三拳
这个作者很懒,什么都没留下…
展开
-
[C++]typedef typename什么意思?
template class A {public: typedef T a_type;};templateclass B {public: //typedef A::a_type b_type; typedef typename A::a_type b_type;};int main() { B> b; return 0;}如果把注释取消,就会产生编译错误。必须使用关键字typename的原因是T是一个template parameter 在实原创 2011-03-21 18:47:00 · 10550 阅读 · 4 评论 -
[C++]前置声明和头文件
<br />看完《Effective C++》条款31有感。。<br />假设有一个Date类<br />Date.h<br />class Date {private: int year, month, day;};<br />如果有个Task类的定义要用到Date类,有两种写法<br />其一<br />Task1.h<br />class Date;class Task1 {public: Date getData();};<br /> <br />其二<br />Task原创 2011-03-22 00:13:00 · 13023 阅读 · 6 评论 -
[C++]尽量用非成员函数,非友元函数替换成员函数
<br />《Effective C++》第23条<br />这本书真是字字珠玑。。<br />下面是一个网页浏览器的类,他有清除缓存,清除历史记录,清除cookies几个功能。<br />class WebBrower {public: ... void clearCache(); void clearHistory(); void removeCookies(); ...};<br />为了方便,设计者可能还会提供一个函数执行所有这3个函数,原创 2011-03-22 22:58:00 · 1575 阅读 · 0 评论