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

  • MPLS не умеет

    Профильное телекомовское издание в телеге пишет: Я, конечно, понимаю, что юберизация добралась и до журналистов, даже узкоспециализированных,…

  • Люди везде одинаковы

    vitiay недавно был на курсах по обучению на тему "как заставить пролетария трудиться не за зарплату, а на субботнике". Как и следовало…

  • Кипр всех сделал

    Власти Кипра открывают границы для всех туристов из России с 1 апреля =================== И Турцию, и Грецию и Болгарию и Черногорию. Кстати, число…

  • 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