【发布时间】:2018-09-14 13:40:48
【问题描述】:
我听说它总是被称为接口,但查看实际代码,它看起来不像接口。如果它不是接口,为什么用词不当?
编辑下方以获得更多说明。 我同意这个问题的措辞不是最好的,但它确实提出了一个令人困惑的话题。有问题的代码来自 cplusplus.com/reference/iterator/iterator
template <class Category, class T, class Distance = ptrdiff_t,
class Pointer = T*, class Reference = T&>
struct iterator {
typedef T value_type;
typedef Distance difference_type;
typedef Pointer pointer;
typedef Reference reference;
typedef Category iterator_category;
};
以及从此链接中阅读。 bogotobogo.com/cplusplus/stl3_iterators.php 我是从同事、同学甚至一些老师那里听到的。诸如此类的措辞,““迭代器的主要优点是它们为任何容器类型提供通用接口。”这里使用“接口”的方式与迭代器相关。
一位用户在下面指出,术语接口是通用的,并不总是像编写 C++ 接口时那样使用。
【问题讨论】:
-
什么“实际代码”?
-
"我听说它总是被称为接口" 听说被称为接口,由谁?例如,我不记得听说过它被称为接口。
-
我应该澄清一下。这就是我所指的。 cplusplus.com/reference/iterator/iterator
-
如果没有奇怪的前提,如果你告诉我们你从哪里得到这个想法/你在谈论什么代码,这可能会成为一个不错的问题
-
“接口”的含义比较广泛。也可以说
std::vector为动态数组提供了一个方便的接口,但如果那是您的误解,那不会使std::vector成为仅声明抽象方法的接口