C++ stringstream::operator=() 函式



C++ 的std::stringstream::operator=() 函式是一個賦值運算子,允許將一個 stringstream 物件的內容賦給另一個。此運算子將一個 stringstream 的狀態複製到另一個,包括其緩衝區內容、錯誤狀態和格式設定。

此函式有兩個多型變體:使用複製賦值運算子和移動賦值運算子(您可以在下面找到所有變體的語法)。

語法

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

stringstream& operator= (const stringstream&) = delete;
or
stringstream& operator= (stringstream&& rhs);

引數

  • rhs - 表示另一個流物件。

返回值

此函式返回 *this。

異常

此函式從不丟擲異常。

資料競爭

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

示例

在下面的示例中,我們將使用複製賦值運算子的基本用法。

#include <iostream>
#include <sstream>
int main()
{
    std::stringstream a;
    a << "Tutorialspoint";
    std::stringstream b;
    b.str(a.str());
    std::cout << b.str() << std::endl;
    return 0;
}

輸出

以上程式碼的輸出如下:

Tutorialspoint

示例

考慮以下示例,我們將使用新的賦值重用流。

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

輸出

以下是以上程式碼的輸出:

b: Hello
a: Namaste
istream.htm
廣告

© . All rights reserved.