c++
通常用一个endl来输出一个换行符,并刷新输出到缓冲区
getline 返回时,丢弃换行符,换行符将不会存储在string对象中。
s.empty() 为空,返回true 否则返回false
s.size() 字符的长度
无符号整数
size的最好,最安全的方法是使用标准库
string::size_type
关系操作符 < <= > >=
标准库尽量设计得和基本数据类型一样方便易用
------------------------------------
string对象与字符串字面值 混合使用
当进行string对象与字符串字面值 混合使用,+操作符左右操作
数必须至少有一个是string类型
string s1="hello "+","; 错的
string s2=s1+"hello"; 对的
string s3="hello" +"word"+s1; 错的
------------------------------------------------
虽然任何整数都可以作为索引,但索引的实际数据
类型却是unsigned类型 string::size_type
cctype 函数
c++中的头文件cctype,其实就是利用了c标准库函数
这些函数定义在c标准库的ctype.h文件中。
使用.h版本会给程序员带来负担,因为他们必须记得
那些标准库名字是从c继承的,而那些是c++所特有的
-------------------------------
vector 是一个类模板
每个对象都有一个对应的整数值和string对象
vector对象 动态的增长 很快
vector中元素的数据类型
向vector添加元素
push_back
vector 下标操作不添加元素
for 循环的判断用!= (来测试vector下标值是否越界)
c++程序员习惯于优先用!= 而不是c来编写循环条件
选用或不选用某种操作符并没有特别的取舍理由
c++,我们倾向于在每次循环中测试size的当前值,而
不是在进入循环前,存储size值的副本。
----------------------
c++ 有些函数可以声明为内联inlink函数,编译器遇到内联函数
会直接扩展相应的代码,而不是进行实际的函数调用
通常用一个endl来输出一个换行符,并刷新输出到缓冲区
getline 返回时,丢弃换行符,换行符将不会存储在string对象中。
s.empty() 为空,返回true 否则返回false
s.size() 字符的长度
无符号整数
size的最好,最安全的方法是使用标准库
string::size_type
关系操作符 < <= > >=
标准库尽量设计得和基本数据类型一样方便易用
------------------------------------
string对象与字符串字面值 混合使用
当进行string对象与字符串字面值 混合使用,+操作符左右操作
数必须至少有一个是string类型
string s1="hello "+","; 错的
string s2=s1+"hello"; 对的
string s3="hello" +"word"+s1; 错的
------------------------------------------------
虽然任何整数都可以作为索引,但索引的实际数据
类型却是unsigned类型 string::size_type
cctype 函数
c++中的头文件cctype,其实就是利用了c标准库函数
这些函数定义在c标准库的ctype.h文件中。
使用.h版本会给程序员带来负担,因为他们必须记得
那些标准库名字是从c继承的,而那些是c++所特有的
-------------------------------
vector 是一个类模板
每个对象都有一个对应的整数值和string对象
vector对象 动态的增长 很快
vector中元素的数据类型
向vector添加元素
push_back
vector 下标操作不添加元素
for 循环的判断用!= (来测试vector下标值是否越界)
c++程序员习惯于优先用!= 而不是c来编写循环条件
选用或不选用某种操作符并没有特别的取舍理由
c++,我们倾向于在每次循环中测试size的当前值,而
不是在进入循环前,存储size值的副本。
----------------------
c++ 有些函数可以声明为内联inlink函数,编译器遇到内联函数
会直接扩展相应的代码,而不是进行实际的函数调用