участвуют при выводи объекта в консоль. Я переопределил оператор для T&& и T&, с этим вывод в консоль ручками - работает. А вот doctest выводит {?}
Он ожидает T const&, наверное? Вы не забывали положить оператор в тот же неймспейс, в котором и тип?
Да, я тоже это увидел. Но у меня невозможно получить от объекта информацию для печати, если он const. Все методы не конст
Это как минимум, необычная ситуация. Как максимум – вы неправильно задизайнили весь класс. Скорее всего, что-то неправильно делаете именно вы Но если причина действительно в этом и вы считаете дизайн своего класса корректным, вы вольны сделать PR, который поддержит и неконстантные методы в doctest
Зачем методы дергать? Можно же напрямую к полям обращаться?
Нет полей, это интерфейс
Добавьте туда константные геттеры
Невозможно
Почему? Можно возвращать указатель, если очень хочется...
Потому что у каждой реализации свои поля
Отличный путь к падению приложения
Люблю стрелять по ногам (нет)
а зачем вы его форматировать хотите тогда?
Просто нет гарантии, что метод не модифицирует объект. Вообще это вроде нужно только для кеширования. Т.е. при кешировании константность мешает, а в остальных всех случаях она полезна
кеширрование - делаешь mutable. А потом туда добавляешь синхронизацию, чтобы это было валидно
Для кеширования есть mutable
Обсуждают сегодня