gpt4 book ai didi

c++ - 字符串 "companion types"

转载 作者:行者123 更新时间:2023-11-30 01:41:20 28 4
gpt4 key购买 nike

一本书谈论string::size_type (这是 string.size() 类的 std::string 函数的返回类型)。

我不明白这些“同伴类型”是什么。有人能给我详细解释一下它们是什么吗?我们如何访问它们?我们如何在类里面创建它们?我听说它们是某种类型别名,怎么样?我在网上找不到任何这些信息。

最佳答案

std::string 类型 - 以及其他序列容器 - 有一堆关联的类型。例如,有 string::iterator,这是一种可以迭代字符串中的字符的类型。

类型string::size_type是某种能够保存字符串大小的类型。您可以通过编写如下内容来使用它:

string::size_type size = myString.size(); // Or something else

人们在日常编程实践中实际使用这种类型的情况并不常见。大多数人只是在这里使用 size_tauto

存在 string::size_type 类型的原因是,在序列容器上工作的模板函数可以接受模板参数,然后从中提取有用的信息,如下所示:

template <typename Sequence> void doSomething(const Sequence& seq) {
typename Sequence::size_type size = seq.size();
...
}

不过,您可能不会很快做这样的事情,所以请随意使用 size_t 或类似的东西。

关于c++ - 字符串 "companion types",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41471741/

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