Сейчас я создаю класс и возник вопрос: использовать ли мне дружественные операторы(функции) или воспользоваться фунциями-членами для получения доступа к данным. А что используете вы?
неоправнанное применение friend нарушает инкапсуляцию и увеличивает число связей оправданное применение friend число связей не увеличивает и инкапсуляцию не нарушает, например Код (Text): template<derived> class base { ... static_cast<derived*>(this)->foo() ... }; class Bar: base<Bar> { friend class base<Bar>; T foo(); ... }