我对std::string
的最后一个构造函数有些疑惑,它在这里被提到:链接。它的描述如下:
template<class InputIterator> string (InputIterator begin, InputIterator end);
如果
InputIterator
是整数类型,则通过将begin和end强制转换为调用它的第六个构造函数版本(就在此上面)来表现出来:string(static_cast<size_t>(begin),static_cast<char>(end));
在其他情况下,参数将被视为迭代器,并且内容将用从迭代器开始指向的元素到迭代器结束前一个元素所表示的元素值进行初始化。
如果
InputIterator
是 char *
,那么这意味着什么?编辑:好吧,我的错。我刚刚意识到文档中说的是整型类型而不是原始类型,因此该问题不适用于该示例。但是,指针是否为原始类型?