cae32 (cae32) wrote,
cae32
cae32

Category:

Новое курево в c++

Как мы уже знаем, я последнее время покуриваю стандарт. В целях понимания поведения чёрного ящика.

Очередные открытия попались в донельзя тривиальной basic_string& assign(const charT* s, size_type n).
Что там можно намутить, просто, как бревно? Но нет. Replaces the string controlled by *this with a string of length n whose elements are a copy of those pointed to by s.

Выглядит логично. На первый взгляд. Но никто не запрещает (более того в libstdc++, которое гнутое, просто делается копирование всех n), чтобы посреди n символов внезапно был \0. Ну будете потом передавать в C-only libs c_str(), а гражданин по сети возьми и передай 0. В плюсовой части 512 байт, в сишной 10. Збс. Привыкли к поведению strncpy? На!
Tags: c++
Subscribe

  • у программистов всё как обычно

    Пришло Напоминание о мероприятии на завтра. Там чудное - "Дата 23 сентября 2020, Начало в 00:00, Продолжительность - 0 ч 0 м." Придётся сходить,…

  • Всех ждёт Рок

    Дуэйн Джонсон возглавил рейтинг самых высокооплачиваемых актеров =================== Наконец-то. Болливуд мы раньше "любили" за переигрывание в стиле…

  • Слоупок ньюз

    Поскольку самоизоляция достала, причастился к Мэтью Борну и его версии творения Петра Ильича. Мир теперь не будет прежним. Я даже не знаю, как это…

  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 1 comment