LINUX.ORG.RU

История изменений

Исправление PPP328, (текущая версия) :

line.remove_prefix(1);

Вы думаете там волшебство?


P.S. Посмотрел сорцы gcc:

       constexpr void
       remove_prefix(size_type __n)
       {
    __glibcxx_assert(this->_M_len >= __n);
    this->_M_str += __n;
    this->_M_len -= __n;
       }

Конкретно у них - двигают только указатель. Но всё равно делать это по одному байту - какой-то кошмар.

P.P.S. Ну и да, мне вот ну крааайне интересно, как себя эта их итерация по одному байту поведет на UTF-8 строках.

Исправление PPP328, :

line.remove_prefix(1);

Вы думаете там волшебство?


P.S. Посмотрел сорцы gcc:

       constexpr void
       remove_prefix(size_type __n)
       {
    __glibcxx_assert(this->_M_len >= __n);
    this->_M_str += __n;
    this->_M_len -= __n;
       }

Конкретно у них - двигают только указатель. Но всё равно делать это по одному байту - какой-то кошмар.

Исправление PPP328, :

line.remove_prefix(1);

Вы думаете там волшебство?

P.S. Посмотрел сорцы gcc:

       constexpr void
       remove_prefix(size_type __n)
       {
    __glibcxx_assert(this->_M_len >= __n);
    this->_M_str += __n;
    this->_M_len -= __n;
       }

Конкретно у них - двигают только указатель. Но всё равно делать это по одному байту - какой-то кошмар.

Исходная версия PPP328, :

line.remove_prefix(1);

Вы думаете там волшебство?