首页 > 生活美容 > 心理 > C++STL包含哪些头文件

C++STL包含哪些头文件

   来源:秀美库    阅读: 1.22W 次
字号:

用手机扫描二维码 在手机上继续观看

手机查看
C++STL包含哪些头文件

1、 头文件中类声明包含std::atomic的成员变量,那么拷贝构造和拷贝赋值必须为delete,通常顺带移动构造和移动赋值为default。以上都不是重点,重点是上述函数只能头文件声明并定义,而不能在cpp中定义。

2、 unique_ptr在std::move的情况下并不转移deleter,必须{ase(), _deleter()}显式右值转移

3、 大部分场合用unique ptr,而不是shared ptr

4、 如果必须自己实现引用计数,记得计数器声明为std::atomic的,否则多线程bug四处开花。

5、 在性能敏感的场景中,实现一个模板参数指定长度的String类要比std::string好,关键是要支持string_view,多数情况下,string_view可以直接从缓冲区强转构造出来,配合remove_prefix和std::regex,用时一时爽,一直用一直爽。

6 . string_view不管目标的生命周期,不兼容c风格结尾,所以千万要注意目标生命周期,也不要对string_view用c函数。对了,凡是出现std::string_view& 写法的,估计还没习惯这玩意。

7、 关于move,在STL容器中,基本就是swap,但用了move最好不要再用std::swap,除了代码难读之外,你还要自己把握swap是否足够强壮而不出错。

8、 慎用boost侵入式容器,即使其拥有O(1)的查找优势,link mode和侵入式指针也会让你口吐白沫。不过这里也推荐给有极致性能要求和自虐倾向的童鞋。

暂时这么多吧。。。

减肥
家居
健康
情感
婚姻
亲子
星座
宠物