gpt4 book ai didi

c++ - 为什么迭代器定义为结构而不是类?

转载 作者:太空狗 更新时间:2023-10-29 23:46:26 24 4
gpt4 key购买 nike

我有一些关于 STL 迭代器实现的小问题。

  • 为什么将迭代器定义为结构而不是类?
  • 主要原因是什么?

最佳答案

是一个实现选择。 classstructC++ 中几乎是一样的,区别是默认访问说明符和继承,对于类是私有(private)的,对于结构是公共(public)的。因此,如果一个类型几乎不需要私有(private)数据成员,那么将其实现为结构可能更有意义。但是您可以实现与两者完全相同的类型:

struct Iterator : IteratorBase {
SomeType x;
};

完全一样

class Iterator : public IteratorBase{
public:
SomeType x;
};

关于c++ - 为什么迭代器定义为结构而不是类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11382908/

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