Поскольку я в основном работаю над C#. Спустя некоторое время мне пришлось работать над проектом C++, и он задавался вопросом, почему C++ не полагается на наследование или интерфейсы для связанных методов, таких как std::vector::begin(T, Allocator) и std. ::list::begin()? В C# это обычно используется для классов со схожим поведением, таких как интерфейс ICollection в List и ReadOnlyCollection.
Подробнее здесь: https://stackoverflow.com/questions/783 ... -interface
Мобильная версия