-
操作系统:
macOS Mojave Version 10.14
-
编译器:
Apple LLVM version 10.0.0 (clang-1000.11.45.2)
-
编辑器:
Microsoft Visual Studio Code
-
第 I 部分 C++ 基础
-
第 II 部分 C++ 标准库
-
第 III 部分 类设计者的工具
-
第 IV 部分 高级主题
-
第 330 页,表 9.19
q.pop()
删除queue
的首元素或priority_queue
的最高优先级的元素,但不返回此元素。 -
第 352 页
如果我们希望能改变一个被捕获的变量的值,就必须在参数列表尾加上关键字
mutable
。因此,可变lambda
不能省略参数列表。 -
第 374 页
因此一个
unordered_multiset
是一个允许重复关键字,元素无序保存的集合。 -
第 378 页
- 两个关键字不能同时 "小于" 对方;如果
k1
"小于"k2
,那么k2
绝不能 "小于"k1
- 如果
k1
"小于"k2
,且k2
"小于"k3
,那么k1
必须 "小于"k3
- 如果存在两个关键字,任何一个都不 "小于" 另一个,那么我们称这两个关键字是 "等价" 的。……
如果两个关键字是等价的(即,任何一个都不 "小于" 另一个),……
- 两个关键字不能同时 "小于" 对方;如果
-
第 403 页
但如果有其他
shared_ptr
也指向这块内存,它就不会被释放掉shared_ptr<Foo> use_factory(T arg) { shared_ptr<Foo> p = factory(arg); return p; }
-
第 457 页,练习 13.28
class TreeNode { private: std::string value; int *count; TreeNode *left; TreeNode *right; };
-
第 466 页
它使用后置递增(参见 4.5 节,第 131 页),因此这个调用会在
first_free
当前值指定的地址构造一个对象,并递增first_free
指向下一个未构造的元素。 -
第 493 页,练习 14.3
(d)
svec1[0] == "stone"
-
第 509 页
sum = intNegate(intAdd(10, 20)); // 等价于 sum = -30
-
第 617 页
debug_rep<string>(const string&)
,第一个模板,T
被绑定到 string
-
第 629 页
// decltype((i)) 为 int&(参见 2.5.3 节,第 62 页),使用第一个 (T&) 部分特例化版本 remove_reference<decltype((i))>::type b;
-
第 666 页
标准库定义了一组操纵符 (manipulator)(参见 1.2 节,第 6 页)来修改流的格式状态,如表 17.17 和表 17.18 所示。
-
第 706 页
对于命名空间中名字的隐藏规则来说有一个重要的例外,它使得我们可以直接访问输入运算符。
-
第 267 页,7.5.6 字面值常量类
C++14 标准删除了
constexpr
函数成员是隐式const
的,新标准中,非静态成员函数可以为非const
。