首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

c++ primer 三 标准库类型

2013-12-29 
c++ primer3 标准库类型#include iostream#include string?using namespace stdusing std::string?i

c++ primer 3 标准库类型
#include <iostream>#include <string>?using namespace std;using std::string;?int main(void){cout << "using" << endl;string in;cin >> in;?cout << "输入的字符" + in << endl;?string s1("admin");cout << s1 << endl;return 0;}?读入未知数目的string对象#include <iostream>#include <string>?using namespace std;using std::string;?/************************************************************************//* 读入未知数目的string 对象?? ?*//************************************************************************/int main(void){string word;while(cin >> word) {cout << word << endl;}return 0;}?用getline读取整行文本#include <iostream>#include <string>?using namespace std;using std::string;?int main(void){string word;while(getline(cin,word)){cout << word << endl;}return 0;}???string对象的操作s.emptys.size()s[n]s1 + s2s1 = s2!= ,< ,<= ,>=??string empty size#include <iostream>#include <string>?using namespace std;using std::string;?int main(){string s1("the expense of spring");cout << "the size of" << s1 << "is" << s1.size() << endl;cout << s1.empty() << endl;return 0;}??string 关系操作符?从string对象获取字符?#include <iostream>#include <string>?using namespace std;using std::string;?int main(void){string str("stradmin");for(int i=0;i<str.size();i++){cout << str[i] <<endl;str[i] = '*';}cout << str << endl;return 0;}??3.3标准vector类型?创建确定个数元素#include <string>#include <vector>#include <iostream>?using namespace std;using std::string;using std::vector;?int main(void){vector<int> ivec1;vector<int> ivec2(ivec1);vector<string> ivec3("admin");?vector<int> ivec4(10,-1);vector<string> ivec5(10,"hi");}??值初始化如果没有指定元素初始化式,那么标准库将自行提供一个元素初始值进行值初始化。?vector对象的操作v.empty()v.size()v.push_back(t)v[n]v1 = v2v1 == v2!= <, <=,>,>=?#include <iostream>#include <vector>#include <string>?using namespace std;using std::string;using std::vector;?int main(){string word;vector<string> text;?text.push_back("admin");text.push_back("root");text.push_back("public");?for(vector<int>::size_type i = 0;i<text.size();i++){cout<< text[i] << endl;}return 0;}??3.4迭代器除了使用下标来访问vector对象的元素外,标准库还提供了另一种访问元素的方法:迭代器现代C++程序更倾向于使用迭代器而不是下标操作访问容器?容器的iterator类型vector<int>::iterator iter;?beginvector<int>::iterator iter = ?ivec.begin();如果容器中有元素的话,begin返回的迭代器指向第一个元素把iter初始化为由名为begin的vector操作返回的值?end返回迭代器指向vector的末端元素的下一个?vector迭代器的自增和解引用运算迭代器类型可使用解引用操作符(*),来访问迭代器所指向的元素*iter = 0; ? *iter 和ivec[0]就是指向同一个元素??iterator 示例:#include <iostream>#include <string>#include <vector>?using namespace std;using std::vector;using std::string;?int main(){vector<string> v1;v1.push_back("stdio");v1.push_back("types.h");v1.push_back("net.h");?for(vector<string>::iterator iter = v1.begin(); iter != v1.end(); iter++ ){cout << *iter << endl;}return 0;}?

?

热点排行