std::string and null-terminated
От: _niko_ Россия  
Дата: 15.07.20 11:14
Оценка:
Есть функция:
void foo(char* dst, const char* src)
{
    char ch;
    do
    {
        ch = *src++;
        // Work with ch ...
        *dst++ = ch;

    } while (ch != '\0');
}

Вызывая её для двух равных по дленне stl-строк получаем запись в dst '\0' как бы за пределами её размера.
std::string src("abra-kadabra");
std::string dst(src.size(), '\0');
    
foo(dst.data(), src.c_str());

На практике это не проблема.
А в теории?
string
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.