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

  • Бойцы вспоминают минувшие дни

    Всё так. Правда, этот твит был в голдеде. В читалке от фронтдора не помню, чтобы был. Да, бойцы, я начинал именно с неё, дед показался…

  • А как они узнали?

    Неандертальцы передали людям защиту от коронавируса ================ Хотя не имели даже примитивных генетических знаний. А вот подишь ты!

  • Новости с родины

    В Ростовской области инспектор ФСИН и двое заключенных отравились наркотиками после совместного их употребления. Впоследствии один из осужденных…

  • 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