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
广告