会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
KidyCharon
时时可死,步步求生
博客园
首页
新随笔
联系
订阅
管理
上一页
1
2
3
4
5
6
7
下一页
2018年11月26日
Effective_STL 学习笔记(十九) 了解相等和等价的区别
摘要: find 算法和 set 的 insert 成员函数是很多必须判断两个值是否相同的函数代表, find 对 “相同” 的定义是相等,基于 operator== , set::insert 对 “相同” 的定义是等价,通常基于 operator< 。 操作上来说,相等的概念基于 operator==
阅读全文
posted @ 2018-11-26 10:58 KidyCharon
阅读(451)
评论(0)
推荐(0)
2018年11月25日
Effective_STL 学习笔记(十八) 避免使用 vector<bool>
摘要: 作为一个 STL 容器,vector<bool> 确实只有两个问题: 1. 它不是一个STL容器 2. 它并不容纳 bool 一个东西不能成为STL容器只因为会有人说它是(哈哈哈哈哈哈) vector不能编译下式: 因为vector<bool> 打包 bool 以节省空间,每个保存在“vector”
阅读全文
posted @ 2018-11-25 18:38 KidyCharon
阅读(340)
评论(0)
推荐(0)
Effective_STL 学习笔记(十七) 使用 “交换技巧” 来修整过剩的容量
摘要: 避免 vector 持有它不再需要的内存,你需要把它从曾经最大的容量减少到它现在需要的容量。这样的减少容量的方法常被称为“收缩到合适”。可以这样做: vector 的复制构造函数拷贝数据到临时vector,这个临时vector没有多余的容量,交换后,销毁 同样技巧用于 string: 收缩到合适意味
阅读全文
posted @ 2018-11-25 18:14 KidyCharon
阅读(149)
评论(0)
推荐(0)
Effective_C++ (条款02) 尽量以 const,enum,inline替换 #define
摘要: 条款可以改为——宁可以编译器替换预处理器,因为 #define 可能不被视为语言的一部分 #define ASPECT_RATIO 1.653 解决之道是以一个常量替换宏(#define) const double AspectRatio = 1.653; 作为语言常量,AspecetRatio 肯
阅读全文
posted @ 2018-11-25 14:51 KidyCharon
阅读(183)
评论(0)
推荐(0)
Effective_C++ (条款01) 视 C++ 为一个语言联邦
摘要: C++ 是个多重泛型编程语言,一个同时支持过程形式(procedural)、面向对象形式(object-oriented)、函数形式(functional)、泛型形式(generic)、元编程形式(metaprogramming)的语言。 将 C++ 视为一个由相关语言组成的联邦而非单一语言,在其某
阅读全文
posted @ 2018-11-25 10:53 KidyCharon
阅读(116)
评论(0)
推荐(0)
2018年11月24日
Effective_STL 学习笔记(十六) 如何将 vector 和 string 的数据传给遗留的API
摘要: 已经存在的遗留的 C 风格 API 接受的是数组和 char* 指针,这样的 API 函数还将会存在很长时间,如果我们要有效使用 STL 的话,就必须和它们和平共处。 如果有一个 vector 对象 v,而你需要一个指向 v 中数据的指针,以使得它可以被当作一个数组,只要 &v[0] 就可以了。对于
阅读全文
posted @ 2018-11-24 08:39 KidyCharon
阅读(137)
评论(0)
推荐(0)
2018年11月23日
Effective_STL 学习笔记(十五) 小心 sting 实现的多样性
摘要: 每个 string 实现都容纳了下面的信息: 1. 字符串的大小,也就是它包含的字符的数目; 2. 容纳字符串字符的内存容量; 3. 这个字符串的值,也就是,构成这个字符串的字符。 另外,一个字符串可能容纳: 1. 它的配置器的拷贝; 2. 依赖引用计数的 string 实现也包含了这个值的引用计数
阅读全文
posted @ 2018-11-23 21:25 KidyCharon
阅读(137)
评论(0)
推荐(0)
Effective_STL 学习笔记(十四) 使用 reserve 来避免没必要的重新分配
摘要: 对于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)
Effective_STL 学习笔记(十三) 尽量使用 vector 和 string 来代替动态分配的数组
摘要: 无论何时,准备动态分配一个数组,应该首先考虑使用一个 vector 或一个 string,vector 和 string 管理自己的内存,当元素添加到容器时,他们的内存会增长,而且当一个 vector 或 string 销毁时,它的析构函数会自动销毁容器中的元素,回收存放那些元素的内存。 vecto
阅读全文
posted @ 2018-11-23 11:00 KidyCharon
阅读(231)
评论(0)
推荐(0)
上一页
1
2
3
4
5
6
7
下一页
公告