这里是C++的新手,我一直在网上寻找答案,但找不到任何东西。我认为这可能与迭代器有关,但是cpp引用站点对我而言只是深奥的
最佳答案
它会导致不确定的行为。 std::string
类是25年前设计的,其某些方面可能无法纳入今天的语言版本中。
这将调用构造函数,该构造函数采用一个迭代器对,该迭代器对应指向范围的开头和结尾,以初始化字符串,例如:
char foo[] = "abcdefgh";
std::string m{foo+1, foo+4}; // "bcd"
但是在您的情况下,指针不会指向同一数组,因此行为是不确定的。
它是https://en.cppreference.com/w/cpp/string/basic_string/basic_string中的构造函数#6:
template< class InputIt >
constexpr basic_string( InputIt first, InputIt last,
const Allocator& alloc = Allocator() );
关于c++ - 第二个参数在std::string myString {“Hello”, “World”}中做什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61263219/