第 2 章では 組み込み型 を紹介し、この章では 抽象データ型ライブラリ を紹介します。
- その中で、string と vector は 2 つの最も重要な標準ライブラリ タイプであり、前者は 可変長文字列 をサポートします。 , 後者は、可変長コレクションを表します。
- もう 1 つの標準ライブラリ タイプは iterator です。これは文字列とベクトルのサポート型であり、文字列内の文字やベクトル内の要素にアクセスするためによく使用されます。
ヘッダー ファイルには using ステートメントを含めないでください。
#include <string>using std::string
string s1;string s2(s1);string s2 = s2;string s3("hiya");string s3 = "hiya";string s4(10, 'c'); //s4的内容是cccccccccc
1. cout << s2. cin >> s //将string对象读入s,遇到空白停止3. getline(is, s) //从输入流is中读取一行赋给s(换行符被读取了,但被丢弃而没有赋给s),返回is4. s.empty() //s为空返回true,否则返回false5. s.size()6. s[n] //返回s中第n个字符的引用,位置n从0计起 7. s1 + s2 //返回s1和s2连接后的结果8. s1 = s29. s1 == s210. s1 != s211. <, <=, >, >=
##string::size_type type
文字列オブジェクト内の文字の処理
isupper(c) //c是大写字母时为真islower(c)tolower(c) //如果c是大写字母,则输出对于的小写字母;否则原样输出toupper(c)isalpha(c) //c是字母时为真isdigit(c) //c是数字时为真isalnum(c) //c是字母或数字时为真ispunct(c) //c是标点符号时为真isspace(c) //c是空白时为真(即c是空格、横向制表符、纵向制表符、回车符、换行符、进纸符的一种)iscntrl(c) //c是控制字符时为真isgraph(c) //c不是空格但可打印时为真isprint(c) //c是可打印字符时为真(即c是空格或具有可视形式)isxdigit(c) //十六进制数
#Range for
(range for)statementfor (declaration : expression) statement 例如:string str("some string");//每行输出str中的一个字符for(auto c : str) cout << c <<endl;
標準ライブラリ型ベクトルvector は
class templateVector オブジェクトの定義と初期化
vector<T> v1vector<T> v2(v1)vector<T> v2 = v1vector<T> v3(n, val)vector<T> v4(n)vector<T> v5{a,b,c...}vector<T> v5 = {a,b,c...}
リスト初期化ベクトル オブジェクト
vector<string> articles = {"a", "an", "the"};
ベクトル オブジェクトに要素を追加します
string word;vector<string> text;while (cin >> word) { text.push_back(word); }
Vector オブジェクトは効率的に拡張できます
: Vector は実行時に要素を効率的かつ迅速に追加できます。ループ本体に要素をベクトル オブジェクトに追加するステートメントが含まれている場合、ループの範囲を使用することはできません。
: 値をベクター オブジェクトの末尾要素として扱い、それをベクター オブジェクトの「最後尾 (後方)」に「プッシュ」します。
vector<int> v2;for(int i=0; i != 100; ++1) v2.push_back(i);
その他のベクトル演算
v.empty() v.size() v.push_back(t) v[n] //返回v中第n个位置上元素的引用v1 = v2v1 = {a,b,c...}v1 == v2v1 != v2 <, <=, >, >=
開始メンバーと終了メンバー
//由编译器决定b、e的类型//b表示v的第一个元素,e表示v尾元素的下一个元素auto b = v.begin(), e = v.end(); //b、e类型相同
コンテナが空の場合、begin と end は両方の末尾反復子を返します。
*iter 返回迭代器iter所指元素的引用iter->men 解引用iter并获取钙元素的名为mem的成员,等价于(*iter).mem++iter--iteriter1 == iter2iter1 != iter2
抽象データ型ライブラリ
を紹介します。- その中で、
string と vector は 2 つの最も重要な標準ライブラリ タイプです。前者は 可変長文字列 をサポートし、後者は # を表します## 可変長コレクション
。 - もう 1 つの標準ライブラリ タイプは iterator です。これは文字列とベクトルのサポート型であり、文字列内の文字やベクトル内の要素にアクセスするためによく使用されます。 関連記事: 第 1 章 C: 関数の戻り値、GNU コンパイラ コマンド
以上が第 3 章 C++: 文字列、ベクトル、配列の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。