#include <iostream> #include <string> int main() { const std::string cS ("c.biancheng.net"); std::string s ("abode"); char temp =0; char temp_1 = 0; char temp_2 = 0; char temp_3 = 0; char temp_4 = 0; char temp_5 = 0; temp = s [2]; //"獲取字元 'c' temp_1 = s.at(2); //獲取字元 'c' temp_2 = s [s.length()]; //未定義行為,返回字元'',但Visual C++ 2012執行時未報錯 temp_3 = cS[cS.length()]; //指向字元 '' temp_4 = s.at (s.length ()); //程式異常 temp_5 = cS.at(cS.length ()); //程式異常 std::cout << temp <<temp_1 << temp_2 << temp_3 << temp_4 << temp_5 << std::endl; return 0; }通過對上述程式碼的分析可知,要理解字串的存取需要多實踐、多嘗試,並且要牢記基礎知識和基本規則。
#include <iostream> #include <string> int main() { std::string s ("abode"); std::cout << s << std::endl ; char& r = s[2] ; //建立參照關係 char*p=&s[3]; //建立參照關係 r='X' ;//修改內容 *p='Y' ;//修改內容 std::cout << s << std::endl; //輸出 s = "12345678"; //重新賦值 r ='X'; //修改內容 *p='Y'; //修改內容 std::cout << s << std::endl; //輸出 return 0; }程式輸出結果為:
abode
abXYe
12XY5678