C++ 中 str 和 substr() 的用法区别
str 是一个字符串变量,代表了一个完整的字符串。而 substr() 是 std::string 类的成员函数,用于提取一个子字符串。
以下是 str 和 substr() 的用法区别:
-
字符串整体 vs. 子字符串提取:
str是一个完整的字符串,可以直接访问和操作整个字符串。substr()用于从一个字符串中提取指定位置和长度的子字符串,返回一个新的std::string对象。
-
直接访问 vs. 创建子字符串的副本:
- 你可以直接通过
str变量访问和修改字符串的内容,而不需要创建副本。 substr()函数会创建一个新的std::string对象作为子字符串的副本,并返回给你。
- 你可以直接通过
-
参数区别:
str是一个字符串变量,你可以直接使用它进行各种字符串操作,如查找、替换等。substr()函数接受两个参数:起始位置和子字符串的长度(可选)。起始位置表示要提取子字符串的起始位置,长度表示要提取的子字符串的长度。如果省略长度参数,则提取从起始位置到字符串末尾的子字符串。
下面是一个示例,展示了 str 和 substr() 的用法区别:
#include <iostream>
#include <string>
int main() {
std::string str = 'Hello, World!';
std::string sub = str.substr(7, 5);
std::cout << 'str: ' << str << std::endl;
std::cout << 'sub: ' << sub << std::endl;
return 0;
}
在上述示例中,str 是一个完整的字符串,我们直接访问并输出了它的内容。而 substr() 函数用于从 str 中提取一个子字符串,起始位置为 7,长度为 5。我们将提取的子字符串存储在 sub 变量中,并输出它的内容。
希望以上解答能够帮助你理解 str 和 substr() 的用法区别!如果你还有其他关于字符串操作或 C++ 的问题,请随时提问。
原文地址: https://www.cveoy.top/t/topic/bOOH 著作权归作者所有。请勿转载和采集!