- 1
- 2
- 3
- 4
- 5
- 6
- 7
string& operator+= (string const& str)
{
if(const size_t str_size = str.size())
_c_str = (char*)memcpy((char*)realloc(_c_str, _size+str_size+1)+_size, str.c_str(), str_size+1)-_size, //0_o
_size += str_size;
return *this;
}
guest 22.01.2010 06:41 # 0
А на out of memory пофиг как всегда.
TarasB 22.01.2010 17:59 # 0
guest 23.01.2010 02:10 # 0
TarasB 23.01.2010 14:12 # 0
guest 22.01.2010 10:06 # 0
TarasB 22.01.2010 20:29 # 0
guest 22.01.2010 22:53 # 0
Altravert 28.01.2010 17:03 # 0
Upd: пардон, понял о чем)
Nex 22.01.2010 10:59 # 0
nil 22.01.2010 11:18 # 0
guest 22.01.2010 22:48 # 0
nil 23.01.2010 01:11 # 0
Ладно, сойдемся на том, что мне больше импонирует эстетика минимализма:)
guest 23.01.2010 13:45 # 0
Упс, я плохо просмотрел код. Согласен с вами, str_size тут не нужен. Разрешаю вам минуснуть мой предыдущий пост :)
guest 22.01.2010 21:40 # 0
А что вернёт realloc, вслучае если ей не удалось расширеть буфер, например не хватило памяти?
guest 22.01.2010 22:49 # +1
hint: man 3 realloc
guest 23.01.2010 13:27 # 0
Что это значит? Что только три раза можно реалочить? O_o
guest 23.01.2010 13:47 # 0
<http://en.wikipedia.org/wiki/Man_pages>
guest 23.01.2010 17:09 # 0
guest 25.01.2010 12:33 # +1
Altravert 26.01.2010 05:59 # 0
guest 26.01.2010 10:49 # 0
Altravert 26.01.2010 16:10 # 0
Lexey 27.01.2010 20:30 # 0
string a = "bla-bla-bla";
a+=a;
guest 27.01.2010 20:58 # −3
string a = "blя-blя-blя";
a+=a;
Lexey 28.01.2010 13:07 # 0
Altravert 28.01.2010 17:06 # 0
guest 28.01.2010 17:35 # 0
Altravert 28.01.2010 21:21 # 0