【发布时间】:2022-01-22 10:22:16
【问题描述】:
我有以下代码:
string str1 = "first string";
string str2(str1, 6, 6)
// Output: string
- 第一个参数指向需要切片的变量
- 第二个参数告诉起始索引(从1开始)
- 第三个参数告诉你想从 str1 中取出多少个字符 - 基本上是结束索引
我了解以上所有内容。但是,当我遇到下面的代码块时,我很困惑。
为什么会这样?它没有 3 个参数。
string str3(str1.begin(), str1.begin() + 5); // Why no 3rd param ?
// Output: first
同样在这里,第二个参数 直到 到第 5 个索引,而不是从 从 那里开始(就像在第一个示例中一样)。有人能解释一下黑白代码块 1 和 2 有什么不同吗?
谢谢。
【问题讨论】:
-
两者都是不同的演员。
std::string有多个 overloads -
“演员”是什么意思?
-
ctor 是构造函数的简写。