1.在头文件中,必须总是使用完全限定的标准库名字,不应该使用using,理由是头文件的内容会被预处理器复制到程序中
2.string:
1.如果要把 s2 直接追加到 s1 的末尾,可以使用 += 操作符,
2.如果做比较的两个 string 对象的字符不同,则比较第一个不匹配的字符的值。
3.当进行 string 对象和字符串字常量混合连接操作时,+ 操作符的左右操作数必须至少有一个是 string 类型的,
4.使用 string::size_type 类型或其他 unsigned 类型做为下标,来避免数组越界。
3.vector:
1.vector本身不是一种数据类型,当使用vector定义了一种数据类型之后,他就可以代表一种数据类型了。
2.end 操作返回的迭代器并不指向 vector 中任何实际的元素,它指向vector中最后元素的后面。
3.不能对end进行解引用或自增操作。
4.*iter 和 ivec[0] 指向同一个元素,但是可以通过*iter对其指向的元素做修改,ivec[0]只能读取元素。
4.bitset:
1.初始化bitset对象时,给出的长度值必须是常量表达式。
2.string 对象和 bitsets 对象之间是反向转化的:string 对象的最右边字符(即下标最大的那个字符)用来初始化 bitset 对象的低阶位(即下标为 0 的位)。