std::string赋值
时间: 2023-08-27 12:15:02 浏览: 107
引用中提到了一个C++代码示例,展示了对std::string的赋值操作。在这个示例中,通过使用赋值运算符=将一个std::string对象赋值给另一个std::string对象。具体的代码如下:
```cpp
s::string s1("hello world");
s::string s2;
s::string s3;
s3 = s2 = s1;
```
其中,s1被赋值为"hello world"。接下来,s2和s3都被赋值为s1。也就是说,s2和s3都存储了相同的字符串"hello world"。
在实现这个赋值操作的类中(引用),在赋值运算符的重载函数中,通过创建一个临时的string对象tmp,并使用std::swap函数交换临时对象和当前对象的成员变量。这样做的目的是为了避免内存泄漏,并保证赋值操作的正确性。
需要注意的是,std::string是C++标准库中提供的字符串类,而s::string则是在示例中用于模拟实现的一个字符串类。
所以,通过这个示例,可以看到std::string的赋值操作可以使用赋值运算符=来实现,并且可以连续赋值多个std::string对象。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* [[ C++ ] string类之构造,拷贝,赋值 及其模拟实现](https://blog.csdn.net/qq_58325487/article/details/126089927)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
- *3* [(C++)正确地给string类型变量赋值](https://blog.csdn.net/killfat/article/details/82914209)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
阅读全文