标准库容器类型:vector,list,deque。这些容器提供了许多完全一样或者相似的接口。
适配器类型:stack,queue,priority_queue。适配器是使用上述容器,对接口进行重新包装的容器类型。
9.1 顺序容器的定义
vector<string> svec;
list<int> ilist;
deque<MyClass> classes;
初始化
C<T> c; //默认初始化
C<T> c(c2[......]
Category Archives: C && C++
C++ Primer读书笔记--第八章
8.1
IO类型分在3个文件中定义:
iostream 定义了读写Console的类型;
fstream 定义了读写文件的类型;
sstream 定义了读写存储在内存中的string对象
IO类型的继承结构良好,如果参数有基类型的引用形参,可以给这个参数传递其派生的子类。
IO类型支持了国际字符,如果需要使用,只需要加入 “w”的前缀即可。
例如:wostream,wofstream等,[......]
STL中vector转数组(实际是数组的指针)
感谢:http://topic.csdn.net/t/20050429/20/3976956.html
感谢:http://yzyanchao.blogbus.com/logs/47796444.html
不过那边是转载自《effective stl》。
std::vector很方便,但有时调用的函数的参数规定是数组,需要将vector转为数组,另外开辟一个空间,将vector一项项复制过去代价过大,可用下面的方法。
给定一个
vector<int[......]
C++让人崩溃系列--不要在构造函数中调用其他构造函数
先做个小测验,不要编译运行,请问下面的代码输出什么?
[cpp]
#include <string>
using std::string;
class Factory {
public:
Factory() {
Factory("scheduler.conf");
printf("Factory()\n");
}
Factory(const string &str) {[......]
C++Primer读书笔记-第四章
对应于容器(vector)和迭代器(iterator),C++从C语言继承了数组和指针。
4.1数组
数组时由类型名、标示符和维数组成的符合数据类型。
没有所有元素都是引用的数组。
【数组定义和初始化】
数组的维数必须是大于或者等于1的常量表达式,如果需要计算才能确定,必须使用new或者malloc。
可以在定义的时候将初始化值写在{}中,如下:
int array[5] = {0,1,2}
则,a[0]到a[2]初始化为0、1、2,而后面的a[3]和a[4]为0
对于没有显示初始化的数组[......]