日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

C++中的字符串类

發布時間:2025/4/5 c/c++ 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C++中的字符串类 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1 C++中的字符串類簡介

1.1 C語言中的遺留問題

歷史遺留問題:

  • C語言不支持真正意義上的字符串。
  • C語言用字符數組和一組函數實現字符串操作。
  • C語言不支持自定義類型,因此無法獲得字符串類型。

解決方案:

  • 從C到C++的進化過程中引入了自定義類型。
  • 在C++中可以通過類完成字符串類型的定義。

1.2 C++中的字符串類

由于C++語言直接支持C語言的所有概念,所以C++中沒有原生的字符串概念。

標準庫中的字符串類:

  • C++標準庫提供了string類型
  • string直接支持字符串連接
  • string直接支持字符串大小的比較
  • string直接支持字串查找和提取
  • string直接支持字符串的插入和替換

string類最大限度的考慮了C字符串的兼容性,可以按照使用C字符串的方式使用string對象。

字符串類的使用:

#include <iostream> #include <string>using namespace std;void string_sort(string a[], int len) {for(int i=0; i<len; i++){for(int j=i; j<len; j++){if( a[i] > a[j] ){swap(a[i], a[j]);}}} }string string_add(string a[], int len) {string ret = "";for(int i=0; i<len; i++){ret += a[i] + "; ";}return ret; }int main() {string sa[7] = {"Hello World","D.T.Software","C#","Java","C++","Python","TypeScript"};string_sort(sa, 7);for(int i=0; i<7; i++){cout << sa[i] << endl;}cout << endl;cout << string_add(sa, 7) << endl;return 0; }

2 C++中string類錯誤使用示例

C++中要么用string類,要么用C語言方式的字符串,不要混用,否則很容易出bug。

2.1 m_cstr的問題

下面的代碼輸出什么?為什么?

兩次均輸出"12345"。

問題分析:

string類通過一個數據空間保存字符數據。

2.2 m_length的問題

下面的程序輸出什么?為什么?

輸出為空。

問題分析:

string類通過一個成員變量保存當前字符串的長度。

C++開發時盡量避免C語言中管用的變成思想。


參考資料:

  • C++深度解析教程
  • 《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

    總結

    以上是生活随笔為你收集整理的C++中的字符串类的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。