Effective C++ 读书笔记
-鲨
致力于成为一名优秀女程序员
展开
-
Effective C++ 04 确定对象被使用前已经先被初始化
1 为什么要完成初始化 读取未初始化的值会导致不明确的行为,最终导致不可测知的程序行为。 所以,永远在使用对象之前进行初始化 2 内置类型的初始化 内置类型,必须手工初始化 3 自定义类型初始化-- 构造函数 确保每一个构造函数都将对象的每一个成员初始化 不要混淆赋值和初始化 class Address { public: Address(){ std::cout << "Add...原创 2020-02-10 20:04:06 · 225 阅读 · 0 评论 -
Effective C++ 03 尽可能使用const
0 获得编译器的帮助 只要某值保持不变,就可以用const修饰,借助编译器保证约束不被违反 1 const 修饰普通变量、指针 const 多才多艺,可以修饰各种普通变量,不再赘述 const 修饰指针 char greeting[] = "Hello"; const char * p = greeting; //const 出现在 * 号左边,表示 const data, non-const...原创 2019-12-10 17:04:14 · 88 阅读 · 0 评论 -
Effective C++ 02 以 const, emum, inline 替换 #define
0 总纲 宁可以编译器替换预编译 ( 源文件 -> 预处理 -> 编译 -> 汇编 -> 链接 -> 可执行文件 link ) 1 单纯常量替换 以一个常量替换#define Q: #define ASPECT_RATIO 1.653 记号名称 ASPECT_RATIO 在预处理阶段被替换成 1.653,未被编译器看见,未计入符号表,会给调试带来麻烦 预处...原创 2019-12-10 10:41:18 · 196 阅读 · 0 评论 -
Effective C++ 01视C++为一个语言联邦
C c++以c为基础,c是面向过程的语言 C++ 面向对象、类、封装、继承、多态 模板 泛型编程、模板元编程(TMP) STL 容器、迭代器、算法原创 2019-12-10 09:30:43 · 100 阅读 · 0 评论