[JT] Re: [Comm] Re: С программисты помогите пожалуйста.

Aleksandr Olar =?iso-8859-1?q?aolar_=CE=C1_km=2Eaval=2Eua?=
Вт Мар 1 14:08:08 MSK 2005


Nick S. Grechukh пишет:

>On Monday 28 February 2005 19:59, Alexey Rusakov wrote:
>  
>
>>On 28.02.2005 20:25, Nick S. Grechukh wrote:
>>    
>>
>>>On Monday 28 February 2005 18:49, Alexey Morsov wrote:
>>>      
>>>
>>>>Которая по сути просто скрывает от вас все то, что на Си вам пришлось бы
>>>>писать самому :) Нет строк в C++ :)
>>>>        
>>>>
>>>ого. а это что?
>>>string sss;
>>>sss="test string1";
>>>string s2="test string2";
>>>// чем не строки? без всяких strcat и memcpy
>>>s2=s2+sss;
>>>printf("%s\n",s2.c_str());
>>>      
>>>
>>Так...
>>Ну короче, поскольку здесь не comp.lang.c++, даю ссылку:
>>http://russian.joelonsoftware.com/Articles/LeakyAbstractions.html
>>    
>>
>я Джоэла читаю. однако уже замучался на каждый чих писать 
>char *newstr; 
>size_t len1=strlen(str1);
>size_t len2=strlen(str2);
>newstr=malloc(len1+len2);
>// а вдруг соседний thread уже изменил str1/str2, вот и снесло крышу strcat
>strncat(newstr,str1,len1);
>strncat(newstr,str2,len2);
>//и еще и не забыть free все что мы на malloc'или. ужасть.
>strings внутри себя делает то же самое, по крайней мере ненамного хуже C. все 
>как обычно - либо красиво, либо оптимизировано. 
>  
>
>------------------------------------------------------------------------
>
>_______________________________________________
>Community mailing list
>Community на altlinux.ru
>https://lists.altlinux.ru/mailman/listinfo/community
>
то же самое только со string:

#include <string>
#include <iostream>
use namespace std;
....
string newstr(str1);
newstr += str2;
// еще вывод
cout << newstr << '\n';
....
free не надо деструктор все сделает сам




Подробная информация о списке рассылки community