C++ string:定義、初始化與使用

一、string定義及其特點

在C++中,string是一種表示字符串的數據類型,其被定義在頭文件string中。相比於傳統的字符數組,它有以下特點:

1、string類型在聲明時無需指定長度,且可以動態調整長度。

2、string類型可以直接進行賦值、拷貝、比較等操作,使用起來更加方便。

3、string類型內置了多種操作函數,例如查找、替換、截取、插入等,可以極大的提高字符串處理效率。

因此,在實際開發中,string類型尤其是在字符串處理方面具有非常廣泛的應用。

#include
#include
using namespace std;
int main()
{
    string str("Hello, World!");
    cout<<str<<endl;
    return 0;
}

二、string的初始化方式

1、使用賦值運算符直接初始化

string str="This is a string";

2、使用構造函數初始化

通過傳入一個字符串(char *)初始化一個string對象:

string str1("This is a string");

通過傳入一個string對象(const string & )初始化一個string對象:

string str2(str1);

通過傳入字符串指針和字符串長度初始化一個string對象:

string str3("learn cpp programming", 12);

通過傳入n個重複的字符和個數初始化一個string對象:

string str4(5,'h');

3、使用迭代器初始化

string str5("Learning c++ programming");
string::iterator it1=str5.begin();
string::iterator it2=str5.end();
string str6(it1,it2);

4、使用”+”運算符或append函數連接字符串

string str7="Hello,";
string str8=" C++!";
string str9;
str9=str7+str8;
str7.append(str8);

三、常用的string操作函數

1、查找函數

find函數返回要查找的字符串在主字符串中的第一個字符位置,如果未查找到返回string::npos。rfind函數返回要查找的字符串在主字符串中的最後一個字符位置,如果未查找到返回string::npos。

string str="This is a test string";
size_t pos1=str.find("test");
size_t pos2=str.rfind("string");

2、替換函數

replace函數用於字符串替換,通過傳入要替換的位置和要替換的長度以及替換的字符串來完成替換操作。

string str="This is, a test string.";
str.replace(5,2,"was");
cout<<str<<endl;

3、截取函數

substr函數可以從一個string中提取一個子串,參數為要提取的字符串的起始位置和長度。

string str="Learning c++ programming";
string substr=str.substr(9,6);
cout<<substr<<endl;

4、插入函數

insert函數用於字符串的插入操作,通過插入位置和插入的字符串來完成操作。

string str="Learning programming!";
str.insert(9,"c++ ");
cout<<str<<endl;

5、長度函數

length函數或size函數可以返回字符串的長度。

string str="Hello, World!";
cout<<str.length()<<endl;

四、string遍歷方式

1、通過下標遍歷

string str="Learning string";
for(int i=0;i<str.length();i++)
    cout<<str[i]<<" ";

2、通過迭代器遍歷

string str="Learning string";
for(string::iterator it=str.begin();it!=str.end();it++)
    cout<<*it<<" ";

通過本文的介紹,我們可以清晰地了解string的定義、初始化方式以及常用操作函數,相信這些知識在實際工作中能夠對大家有所幫助。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/236968.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-12 12:02
下一篇 2024-12-12 12:02

相關推薦

  • Python3定義函數參數類型

    Python是一門動態類型語言,不需要在定義變量時顯示的指定變量類型,但是Python3中提供了函數參數類型的聲明功能,在函數定義時明確定義參數類型。在函數的形參後面加上冒號(:)…

    編程 2025-04-29
  • Python定義函數判斷奇偶數

    本文將從多個方面詳細闡述Python定義函數判斷奇偶數的方法,並提供完整的代碼示例。 一、初步了解Python函數 在介紹Python如何定義函數判斷奇偶數之前,我們先來了解一下P…

    編程 2025-04-29
  • Python符號定義和使用方法

    本文將從多個方面介紹Python符號的定義和使用方法,涉及注釋、變量、運算符、條件語句和循環等多個方面。 一、注釋 1、單行注釋 # 這是一條單行注釋 2、多行注釋 “”” 這是一…

    編程 2025-04-29
  • Python中的隊列定義

    本篇文章旨在深入闡述Python中隊列的定義及其應用,包括隊列的定義、隊列的類型、隊列的操作以及隊列的應用。同時,我們也會為您提供Python代碼示例。 一、隊列的定義 隊列是一種…

    編程 2025-04-29
  • c# enum轉換成string

    本文將從以下幾個方面詳細闡述c#中enum類型轉換成string類型的方法及注意事項。 一、基本語法和示例 c#中的enum類型可以看作是一組有名字的常量值,通常用於定義一組相關的…

    編程 2025-04-29
  • Python編程技巧:如何定義一個函數n!,並計算5!

    在這篇文章中,我們將研究如何使用Python編程語言定義一個能夠計算階乘的函數,並且演示如何使用該函數計算5!。 一、階乘函數的定義 在Python中,我們可以使用一個簡單的遞歸函…

    編程 2025-04-29
  • Python定義兩個列表的多面探索

    Python是一種強大的編程語言,開放源代碼,易於學習和使用。通過Python語言,我們可以定義各種數據類型,如列表(list)。在Python中,列表(list)在處理數據方面起…

    編程 2025-04-29
  • Python定義變量

    Python是一門高級編程語言,變量是Python編程中非常重要的一個概念。Python的變量定義方式非常簡單,可以在程序中隨時定義一個變量來存儲數據,這方便了整個程序的邏輯編寫,…

    編程 2025-04-28
  • Python中如何定義一個變量

    Python是一種高級編程語言,使用它您可以輕鬆地定義和操作變量。Python中的變量屬於動態類型變量,因此不需要在定義變量時指定其類型,而是在變量分配之前自動確定變量的數據類型。…

    編程 2025-04-28
  • Python編程:如何定義一個計算三角形面積的函數

    計算三角形面積是幾何學中的一個基礎問題。在Python編程中,我們可以通過定義一個函數來計算任意三角形的面積。本文將從以下幾個方面對Python定義一個計算三角形面積的函數進行闡述…

    編程 2025-04-28

發表回復

登錄後才能評論