Задать вопрос
  • Почему bool оператор возвращает false, хотя на деле условия для true соблюдены?

    @Mercury13
    Программист на «си с крестами» и не только
    Стандартная ошибка наплюсника, аж две штуки.

    МАКРО-УРОВЕНЬ: вы пишете свою строку, но вместо того, чтобы сделать её отдельным объектом, инкапсулируете внутри Overcoat.

    Рисунок кода Си++ в точности обратный — всё, что умеет удерживать-отдавать ресурсы, переносится в отдельный объект небольшого размера. К тому же использование таких вот небольших объектов позволяет идиому «by-value+move»: если параметр — временная our::String, она просто переносится, а если нет — ну йок так йок.

    НЕПОСРЕДСТВЕННАЯ ПРИЧИНА: сравниваете указатели на буфера, а не содержимое строк.
    Ответ написан
    1 комментарий