摘要: 1. 使用class封装之后的布局成本: (1)class并没有增加成本,data members直接内含在每一个class object之中,就像C struct一样。而member functions虽然被包含在class的声明之内,但是不出现在Object之中。每一个non-inline fu 阅读全文
posted @ 2018-01-05 15:53 IvanB.G.Liu 阅读(210) 评论(0) 推荐(0) 编辑
摘要: 1. 单例模式: 单例模式是最为最常见的设计模式之一。对于任何时刻,如果某个类只存在且最多存在一个具体的实例,那么我们称这种设计模式为单例模式。 2. C++实现方法: 在类内定义一个指向类对象的静态指针pointer并在类外将其指向NULL,然后写一个判断函数getInstance(): (1)当 阅读全文
posted @ 2018-01-05 13:00 IvanB.G.Liu 阅读(119) 评论(0) 推荐(0) 编辑
摘要: 1、使用find和count: count(k) 求出键k的出现次数 find(k) 返回第一个拥有键k的实例 multimap<int, int>::size_type cnt = testMap.count(searchItem); multimap<int, int>::iterator it 阅读全文
posted @ 2018-01-05 12:56 IvanB.G.Liu 阅读(7435) 评论(0) 推荐(0) 编辑
摘要: 1. 容器中对象拷贝高效、防剥离发生的方法: 使容器包含指针而不是对象。(ps:STL容器是在创建拷贝,相比数组,是动态创建,节省时间和空间) 2. 总是调用empty()而不是size==0来判断容器是否为空: empty()对所有STL容器都是常数时间操作,而size()对某些容器(如list) 阅读全文
posted @ 2018-01-05 12:48 IvanB.G.Liu 阅读(837) 评论(0) 推荐(0) 编辑
摘要: (1) 包含在头文件#include <iterator>中 (2) 像使用其他iterator一样使用istream_iterator 和 ostream_iterator: istream_iterator<string> start_cin(cin); //输入迭代器指向标准输入 istrea 阅读全文
posted @ 2018-01-05 12:42 IvanB.G.Liu 阅读(426) 评论(0) 推荐(0) 编辑