摘要: 作为一个 STL 容器,vector<bool> 确实只有两个问题: 1. 它不是一个STL容器 2. 它并不容纳 bool 一个东西不能成为STL容器只因为会有人说它是(哈哈哈哈哈哈) vector不能编译下式: 因为vector<bool> 打包 bool 以节省空间,每个保存在“vector” 阅读全文
posted @ 2018-11-25 18:38 KidyCharon 阅读(340) 评论(0) 推荐(0)
摘要: 避免 vector 持有它不再需要的内存,你需要把它从曾经最大的容量减少到它现在需要的容量。这样的减少容量的方法常被称为“收缩到合适”。可以这样做: vector 的复制构造函数拷贝数据到临时vector,这个临时vector没有多余的容量,交换后,销毁 同样技巧用于 string: 收缩到合适意味 阅读全文
posted @ 2018-11-25 18:14 KidyCharon 阅读(149) 评论(0) 推荐(0)
摘要: 条款可以改为——宁可以编译器替换预处理器,因为 #define 可能不被视为语言的一部分 #define ASPECT_RATIO 1.653 解决之道是以一个常量替换宏(#define) const double AspectRatio = 1.653; 作为语言常量,AspecetRatio 肯 阅读全文
posted @ 2018-11-25 14:51 KidyCharon 阅读(183) 评论(0) 推荐(0)
摘要: C++ 是个多重泛型编程语言,一个同时支持过程形式(procedural)、面向对象形式(object-oriented)、函数形式(functional)、泛型形式(generic)、元编程形式(metaprogramming)的语言。 将 C++ 视为一个由相关语言组成的联邦而非单一语言,在其某 阅读全文
posted @ 2018-11-25 10:53 KidyCharon 阅读(116) 评论(0) 推荐(0)