摘要: 每个 string 实现都容纳了下面的信息: 1. 字符串的大小,也就是它包含的字符的数目; 2. 容纳字符串字符的内存容量; 3. 这个字符串的值,也就是,构成这个字符串的字符。 另外,一个字符串可能容纳: 1. 它的配置器的拷贝; 2. 依赖引用计数的 string 实现也包含了这个值的引用计数 阅读全文
posted @ 2018-11-23 21:25 KidyCharon 阅读(137) 评论(0) 推荐(0)
摘要: 对于vector和string,当需要更多的空间,以realloc等价的思想来增长。类似于realloc的操作有四个部分: 1. 分配新的内存块,它有容器目前容量的几倍。大部分实现中,vector和string的容量以2为因数增长。 也就是说,当容器必须扩展时,它的容量每次翻倍。 2. 把所有元素从 阅读全文
posted @ 2018-11-23 20:51 KidyCharon 阅读(184) 评论(0) 推荐(0)
摘要: 罗曼罗兰著《贝多芬传》 译者序 傅雷 唯有真实的苦难,才能驱除浪漫底克的幻想的苦难;唯有看到克服苦难的壮烈的悲剧,才能够帮助我们承担残酷的命运;唯有抱着“我不入地狱谁入地狱”的精神才能挽救一个萎靡而自私的民族:这是我十五年前初读到这本书时所得的教训。 不经过战斗的舍弃是虚伪的,不经劫难磨练的超脱是轻 阅读全文
posted @ 2018-11-23 19:42 KidyCharon 阅读(544) 评论(0) 推荐(0)
摘要: 无论何时,准备动态分配一个数组,应该首先考虑使用一个 vector 或一个 string,vector 和 string 管理自己的内存,当元素添加到容器时,他们的内存会增长,而且当一个 vector 或 string 销毁时,它的析构函数会自动销毁容器中的元素,回收存放那些元素的内存。 vecto 阅读全文
posted @ 2018-11-23 11:00 KidyCharon 阅读(231) 评论(0) 推荐(0)
摘要: 标准C++的世界是相当保守和陈旧的。在这个纯洁的世界,所有可执行文件都是静态链接的。不存在内存映射文件和共享内存。没有窗口系统,没有网络,没有数据库,没有其他进程。在这种情况下,当发现标准没有提到任何关于线程的东西时你不该感到惊讶。你对STL的线程安全有的第一个想法应该是它将因实现而不同。 在STL 阅读全文
posted @ 2018-11-23 10:06 KidyCharon 阅读(241) 评论(0) 推荐(0)
摘要: 还没理解。。。。。。 回头再来 阅读全文
posted @ 2018-11-23 09:10 KidyCharon 阅读(185) 评论(0) 推荐(0)