C++primer 第三章
2021-03-26 06:27
标签:中间 一个 换行 begin 数组初始化 style 引用 auto 元素 · 头文件不应包含using声明:若某文件中使用了多个头文件(含using声明) 产生冲突 · string s; cin >> s; string对象读取时自动忽略开头的空白(空格符、换行符、制表符等) 并从第一个真正的字符读起,直到遇见下一处空白为止 · getline:可以读取空白符,直到遇到换行符为止 (换行符会被读取进istream,但是会被丢弃不放入string中) · string.size(): size()返回的类型:size_type 无符号 Attention:若n为一个负值int,(s.size()
· string相加:至少有一个对象是string类型 · 字符串字面值 != string类型 · vector是模板,而非类型 · vector的元素是对象,而引用不是对象,所以不存在vector的元素是引用 · vector能高效动态增长,无需设定其容量大小 (除非所有元素值相同) · 如果容器为空,begin和end返回的是同一个迭代器, 尾后迭代器 由此检查容器是否为空的办法:s.begin() != s.end() · const vector: cbegin()、cend() · 迭代器失效:改变容量操作(如push_back) → 迭代器失效 Attention:凡是使用了迭代器的循环体,都不要push_back · 迭代器运算: ①没有 迭代器 + 迭代器 的操作 ②迭代器 + n 返回 迭代器 所以比如找一段数据的中间数: mid = beg + (end - beg) / 2 (其中beg、end为头尾 此操作是 迭代器 + n) · 数组中的维度必须是常量表达式: a[d] d必须是const · 数组的元素为对象:与vector一致,不存在引用的数组 · 字符数组预留空字符: 如char a[6] = "Daniel" // 错误,没有空间可存放空字符 · 一般在使用时,数组会自动转换成指针 · 用数组赋值vector: vector · 多维数组初始化每行的第一个元素: int ia[3][4] = { {0}, {4}, {8} } · 范围for语句处理多维数组:要注意引用,否则将转换成指针 若不使用引用 i的类型就是int* 除了最内层循环,其他循环都必须引用 C++primer 第三章 标签:中间 一个 换行 begin 数组初始化 style 引用 auto 元素 原文地址:https://www.cnblogs.com/ctxcc/p/13714875.htmlfor (auto &i : ia)
{
for (auto j : i )
}