摘要: 条目十五《注意strng实现的多样性》 下面以一个打印string空对象的大小切入本条目: include include using namespace std; int main() { string ss; printf("ss size: %ld\n", sizeof(ss)); retur 阅读全文
posted @ 2019-01-12 15:48 那一抹风 阅读(293) 评论(0) 推荐(0) 编辑
摘要: 条目十四《使用reserve来避免不必要的重新分配》 使用vector和string的插入元素的时候,我们是不用担心内存问题的(只要不超过容器的max_size)。因为底层有分配子管理内存。在插入元素的时候,内存不够会发生像realloc的过程: 1. 分配新的内存块,它有容器目前容量的几倍。在大部 阅读全文
posted @ 2019-01-12 14:44 那一抹风 阅读(417) 评论(0) 推荐(0) 编辑
摘要: 条目十三《尽量使用vector和string来代替使用数组》 数组在现代编程语言中基本都存在,应用可谓广泛,不可或缺,虽然在一些语言中(go)有切片等数据结构,但是数组还是存在的。 但是在有了stl后,在使用数组时更建议用vector和string来代替,因为在动态分配数组的内存时,需要人为的管理内 阅读全文
posted @ 2019-01-12 14:10 那一抹风 阅读(651) 评论(0) 推荐(0) 编辑
摘要: 条目十二《切勿对slt容器的线性安全性又不切实际的依赖》 这一条目,我想用简短而有力的语句来总结。 stl库是为了照顾大多数情况,而不是某一领域,如果在库层次实现线性安全,很大可能是对性能有所损耗的,这样就得不偿失了,还是让开发者自己按需实现。标准没有在库实现线性安全。一般是厂商实现,可能吧,只能是 阅读全文
posted @ 2019-01-12 00:17 那一抹风 阅读(238) 评论(0) 推荐(0) 编辑