摘要: 条款005:了解C++默默编写并调用哪些函数如果有引用或者const成员变量,编译器拒绝合成赋值操作符。template <typename T>class NameObject{public: NameObject(string& name,const T& value): nameValue(name),objectValue(value) { }private: string& nameValue;//&引用变量 const T objectValue;};//warning C4512: 'NameObject<T> 阅读全文
posted @ 2013-02-22 15:43 浑身胆满脸魄 阅读(197) 评论(0) 推荐(0) 编辑
摘要: 导读Pass-by-value意味着调用copy构造函数。尽可能避开undefined behavior。条款01:视c++为一个语言联邦。四个次语言,C、OO、template、STL。每个次语言都有自己的规约。当从一个次语言切换到另一个次语言时,高效编程的守则要求你改变策略…用哪种策略?取决于你使用C++的哪一个部分。条款002:尽量以const enum inline 替换#define#define不提供任何封装性。#define到#undef之间均可见。#define有可能被编译器忽视,没进入symbol table。const double AspectRatio = 1.653; 阅读全文
posted @ 2013-02-22 14:41 浑身胆满脸魄 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 53*不要轻忽编译器的警告Pay attention to compiler warnings.54*让自己熟悉包括TR1在内的标准程序库Familiarize yourself with the standard library,including TR1.C++98的内容:STL(Standard Template Library,标准模板库):容器、迭代器、算法、函数对象、容器适配器、函数对象适配器。Iostreams:用户自定缓冲功能(毛?),国际化I/O(毛?iostream等类?),对象:cin,cout,cerr,clog。国际化支持:wchar_t和wstring。——> 阅读全文
posted @ 2013-02-22 10:25 浑身胆满脸魄 阅读(140) 评论(0) 推荐(0) 编辑