История изменений
Исправление 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);
Вы думаете там волшебство?