C++ stringstream::swap() 函式



C++ 的 std::stringstream::swap() 函式用於交換兩個 stringstream 物件的內容及其內部狀態,包括緩衝區內容和狀態標誌。透過呼叫此函式,我們可以無需複製或重新初始化即可在兩個流之間傳輸資料。

語法

以下是 std::stringstream::swap() 函式的語法。

void swap (stringstream& x);

引數

  • x − 指示另一個 stringstream 物件。

返回值

此函式不返回任何值。

異常

此函式從不丟擲異常。

資料競爭

修改兩個流物件(*this 和 x)。

示例

在下面的示例中,我們將考慮 swap() 函式的基本用法。

#include <iostream>
#include <sstream>
int main()
{
    std::stringstream a, b;
    a << "Namaste";
    b << "Vanakam";
    a.swap(b);
    std::cout << "After swapping :" << std::endl;
    std::cout << "a : " << a.str() << std::endl;
    std::cout << "b : " << b.str() << std::endl;
    return 0;
}

輸出

以上程式碼的輸出如下:

After swapping :
a : Vanakam
b : Namaste

示例

考慮以下示例,我們將與空流交換。

#include <iostream>
#include <sstream>
int main()
{
    std::stringstream x, y;
    x << "TutorialsPoint";
    x.swap(y);
    std::cout << "After swapping :" << std::endl;
    std::cout << "x : " << x.str() << std::endl;
    std::cout << "y : " << y.str() << std::endl;
    return 0;
}

輸出

以上程式碼的輸出如下:

After swapping :
x: 
y: TutorialsPoint

示例

讓我們來看下面的示例,我們將使用具有相同流的 swap() 函式。

#include <iostream>
#include <sstream>
int main()
{
    std::stringstream x;
    std::stringstream y;
    x << "Hi";
    y << "Hi";
    x.swap(y);
    std::cout << "After swapping :" << std::endl;
    std::cout << "x : " << x.str() << std::endl;
    std::cout << "y : " << y.str() << std::endl;
    return 0;
}

輸出

如果我們執行以上程式碼,它將生成以下輸出:

After swapping :
x : Hi
y : Hi
istream.htm
廣告
© . All rights reserved.