C++笔记
2020-07-28 14:12 cascle 阅读(224) 评论(0) 编辑 收藏 举报0:C++是一门研究编译器的语言
1:不明确行为:访问指向未知区域的指针(或者无效指针),导致运行期不确定行为
2:除了编译器自带的标准库STL,还有STLPort,SGI STL ,Boost,TR1等库可以使用
3:Vector的size和capacity区别,reserve,clear,swap,shrink用法
4:STLFilter,方便调试
5:string_view解决问题字符串临时构造问题
6:std::any,std::vector<std::any>>节省模板编译或者lto(link time optimization)编译选项
7: boost的multi_index_container 多索引容器,支持任意多个索引,联合索引,性能一流,没被采用可惜了
8:内存指针异常,一是泄漏没有释放,比如返回的指针值没有被对象引用直接丢掉,二是重复释放,比如两个指针指向一块内存多次释放没有同步(临时对象销毁后也可能导致悬空指针),三是指针操作越界,污染其他内存,四是指针多个持有者,一个突然释放另外一个持有者不知道还在使用,五是调用了错误的delete函数
9:小心handle导致类内成员获的比对象更长问题
10:预编译头文件技术使用
11:String的实现源码看一遍