Re[7]: Об эффективности программ
От: Павел Кузнецов  
Дата: 08.10.05 01:21
Оценка: +1
Cyberax,

>> Гм. Мне не хотелось бы прослыть человеком, приносящим дурные вести, но

>> ты только что продемонстрировал способ внести в программу buffer
>> overrun vulnerability.

> Вот политкорректный вариант:

>
> std::string res;
> res.reserve(100); //Разумное число
> for(int f=0;f<nStrings;f++)
>     str.append(szStrings[f]);
>

> Безопасно, причем если результирующая строка меньше 100 символов, то не
> будет лишних переаллокаций.

А при желании можно даже сохранить начальное выделение памяти в стеке для строк:
fast_buffer<char, 100> res;
for(int f=0; f < nStrings; f++)
     res.append(szStrings[f]);
Posted via RSDN NNTP Server 2.0 beta
Легче одурачить людей, чем убедить их в том, что они одурачены. — Марк Твен
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.