Подружка с собственным параметром типа шаблона
Согласно новому стандарту мы можем сделать параметр типа шаблона другом:
Код: Выделить всё
template class Bar {
friend Type; // grants access to the type used to instantiate Bar
// ...
};
Таким образом, для некоторого типа с именем Foo Foo будет другом. из Bar,
Sales_data — друг Bar и так далее.
Стоит отметить, что хотя друг обычно должен быть классом или
функция, это вполне допустимо, чтобы экземпляр Bar создавался со встроенным типом.
Такая дружба разрешена, поэтому мы можем создавать экземпляры таких классов, как
Bar, со встроенными типами.
< /blockquote>
Меня смущают последние несколько утверждений. Почему акцент сделан на встраиваемом типе? BAR можно использовать для создания экземпляра обычного класса (BAU). Однако автор также уделяет особое внимание встроенному типу для использования этого типа дружбы, который, похоже, помогает встроенному типу. Если не подружиться с этим, чего этот встроенный тип не будет иметь или не сможет сделать?
Любая помощь будет полезна.
Спасибо.
Подробнее здесь: https://stackoverflow.com/questions/793 ... mplates-ow