gpt4 book ai didi

c++ - C++ 中的指针是原始类型吗?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:13:14 25 4
gpt4 key购买 nike

我想知道 std::string 的最后一个构造函数提到 here .它说:

template<class InputIterator> string (InputIterator begin, InputIterator end);

如果 InputIterator 是整型,则通过类型转换 begin 和 end 来调用它,表现为第六个构造函数版本(紧挨着它的那个版本):

string(static_cast<size_t>(begin),static_cast<char>(end));

在任何其他情况下,参数都被视为迭代器,并且内容被初始化为从迭代器开始引用的元素到迭代器结束引用的元素之前的元素的元素值。

那么如果 InputIterator 是一个 char * 是什么意思呢?

编辑: 好吧,我的错。我刚刚意识到它在文档中说的是整数类型,而不是原始类型,所以这个问题不适用于那个例子。但是,指针仍然是原语吗?

最佳答案

C++ 没有“原始”类型的概念;整数是基本类型,指针是复合类型。

在这种情况下,char* 无法转换为 size_tchar,因此它将被视为 InputIterator 模板参数。

关于c++ - C++ 中的指针是原始类型吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2455216/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com