C++标准库类型包括:string,vector和迭代器,其中string是可变长的字符序列,vector存放的是某种给定类型对象的可变长序列,迭代器是string和vector的配套类型,常被用于访问string中的字符和vector中的元素。
每个名字都需要独立的using声明,C++语言形式自由,既可以只有一条using声明语句,也可以多条,但要保证用到的每个名字都必须有自己的声明语句。
头文件不应包含using声明,因为头文件的内容会拷贝到所有引用它的文件中,当头文件中含有using声明时,每个使用该头文件的文件都含有此条声明,对于某些程序,不经意包含一些名字,可能会发生名字冲突。
#include<iostream> using std::cout using std::endl; int main() { int sum=0,i=50; while(i<=100) { sum+=i; i++; } cout<<sum<<endl; system("pause"); return 0; }
#include<iostream> using std::cout using std::endl int main() { int i=10; while(i>=0){ cout<<i<<endl; i--; } system("pause"); return 0; }
#include <iostream> using std::cout; using std::cin; void print_range(int lo, int hi) { if (lo > hi) print_range(hi, lo); for (int i = lo; i != hi; ++i) cout << i << " "; } int main() { int low = 0, high = 0; cout << "please input two integers:\n"; cin >> low >> high; print_range(low, high); return 0; }
string的初始化
string s1; // 默认初始化,s1是一个空字符串 string s2 = s1; // s2是s1的副本 string s3 = "hiya"; // s3是该字符串字面值的副本 string s4(10, ‘ c ‘); // s4的类容是cccccccccc
string s1
默认初始化,s1是一个空串
string s2(s1)
s2是s1的副本
string s2 = s1
等价于s2(s1),s2是s1的副本
string s3("value")
s3是字面值“value"的副本,除了字面值最后的那个空字符外
string s3 = "value"
等价于s3("value"),s3是字面值”value"的副本
string s4(n, ‘ c‘)
把s4初始化为由连续n个字符c组成的串
使用等号初始化实际上是拷贝初始化,编译器直接把等号右侧的初始值拷贝到新的对象上,想反,不含等号的初始化是直接初始化化
string s5 = "hiya"; //拷贝初始化
string s6("hiya"); //直接初始化
string s7(10, ‘ c‘); //直接初始化
用拷贝初始化对多个值进行初始化时,须创建一个临时对象用于拷贝
string s8 = string(10, ‘c‘); //可读性差
等价于如下:
string temp(10, ‘c‘);
string s8 = temp;
一个类除规定初始化其对象方式外,还需定义在对象上所能执行的操作
有关string对象上的操作如下表:
os<<s | 将s写到输出流os当中,返回os |
is>>s | 从is中读取字符串赋给s,字符串以空白分隔,返回is |
getline(is, s) | 从is中读取一行赋给s,返回is |
s.empty() | s为空赋返回true,否则返回false |
s.sinze() | 返回s中的字符的个数 |
s[n] | 返回s中第n个字符的引用,位置n从0计起 |
s1+s2 | 返回s1和s2连接后的结果 |
s1=s2 | 用s2的副本代替s1中原来的字符 |
s1==s2 | 如果s1和s2中所含的字符完全一样,则它们相等,返回true |
s1!=s2 | 如果s1和s2中所含的字符不一样,返回true |
<, <=, >, >= | 利用字符在字典中的顺序进行比较,且对字母的大小写敏感 |
读写string,输入cin >> s;执行读取操作时,string对象会自动忽略开头的空白(空格符、换行符、制表符等)并从第一个真正的字符开始读起,直到下一处空白为止。
输入 cin >> s1 >> s2 >>……;执行读取多个输入
读取数量未知数量的string对象
C++primer(第五版)读书笔记&习题解答---CHAPTER 3
原文:http://www.cnblogs.com/tcent/p/5022068.html