|
|
|
что выбрать CString или string ??
|
|||
|---|---|---|---|
|
#18+
всегда использовал char *, но что-то надоело, постоянные опасения нарушения границ или дополнительный страховочный код, так вот, сейчас не знаю, что будет проще и удобнее: CString || string ?? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2007, 14:21:40 |
|
||
|
что выбрать CString или string ??
|
|||
|---|---|---|---|
|
#18+
Tubrik wrote: > всегда использовал char *, но что-то надоело, постоянные опасения > нарушения границ или дополнительный страховочный код, "Дополнительный страховочный код" можно было бы загнать один раз в несколько своих собственных процедур для работы со строками. Например, сделать strlen, который не вылетает, если аргумент == 0, или strcpy и strcat, который возвращает уже созданную при помощи new[] строку. > так вот, сейчас > не знаю, что будет проще и удобнее: CString || string ?? string какой - std::string? CString привязан к MFC. std::string стандартный. Лично я QString рекомендую :) Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2007, 16:11:41 |
|
||
|
что выбрать CString или string ??
|
|||
|---|---|---|---|
|
#18+
ErV пишет: > CString привязан к MFC. std::string стандартный. Лично я QString > рекомендую :) Уже давно его вынесли оттуда, в общую библиотеку ATL/WTL/MFC. И теперь это шаблон, если я не ошибаюсь. Так что полный вперед. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2007, 19:10:45 |
|
||
|
что выбрать CString или string ??
|
|||
|---|---|---|---|
|
#18+
MasterZiv wrote: > И теперь это шаблон, если я не ошибаюсь. Тогда пардон за дезинформацию. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2007, 19:15:25 |
|
||
|
что выбрать CString или string ??
|
|||
|---|---|---|---|
|
#18+
string --- стандартный класс. Пусть кто-нить озвучит, чем CString лучше. Если таковых аргументов нет, надо использовать string. ---------- Писать свой strlen -- костыль. Надо использовать готовые классы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2007, 21:35:45 |
|
||
|
что выбрать CString или string ??
|
|||
|---|---|---|---|
|
#18+
grieg wrote: > Писать свой strlen -- костыль. Надо использовать готовые классы. Зависит от задач. Если остальной функционал std::string не нужен, то почему бы и нет? И я имел в виду обертку, которая, например, испарвила бы стандартный вылет, если аргумент равен нулю. Это опять же, в зависимости от задач может быть нужно или не очень. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2007, 22:56:07 |
|
||
|
что выбрать CString или string ??
|
|||
|---|---|---|---|
|
#18+
Tubrikвсегда использовал char *, но что-то надоело, постоянные опасения нарушения границ или дополнительный страховочный код, так вот, сейчас не знаю, что будет проще и удобнее: CString || string ?? + string string стандартен и удобен. Собственно, тебе не что не мешает изучить и CString и в зависимости от задачи использовать и его. Например, я иногда использую и char *. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2007, 09:59:43 |
|
||
|
что выбрать CString или string ??
|
|||
|---|---|---|---|
|
#18+
griegПисать свой strlen -- костыль. Надо использовать готовые классы. strlen - это Си функционал для char *, как и strchr, sprintf и т.д. и т.п. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2007, 10:01:03 |
|
||
|
что выбрать CString или string ??
|
|||
|---|---|---|---|
|
#18+
Спасибо за советы, решил string, вдруг портировать придется.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2007, 13:25:20 |
|
||
|
что выбрать CString или string ??
|
|||
|---|---|---|---|
|
#18+
нужно взять самый "приемлимый" из классов, скопировать его код к себе в проект, переименовать например в CMyString и не будет проблем с портированием .... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2007, 13:44:35 |
|
||
|
что выбрать CString или string ??
|
|||
|---|---|---|---|
|
#18+
Кроик Семённужно взять самый "приемлимый" из классов, скопировать его код к себе в проект, переименовать например в CMyString и не будет проблем с портированием .... интересный подход Вы так делаете для ВСЕХ классов, что встретите на пути или только для ИЗБРАННЫХ типа string ??? Кстати, std::string не класс, а шаблон, и что то мне подсказывает, что копировать его себе в проект ВЫ лично ... устанете ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2007, 14:21:58 |
|
||
|
что выбрать CString или string ??
|
|||
|---|---|---|---|
|
#18+
только ИЗБРАНН ЫЙ string. Причем только в том случае, если его (CString) нет в стандартной библиотеке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2007, 14:39:37 |
|
||
|
что выбрать CString или string ??
|
|||
|---|---|---|---|
|
#18+
Кроик Семёнтолько ИЗБРАНН ЫЙ string. Причем только в том случае, если его (CString) нет в стандартной библиотеке. И таскать его за собой по всем проектам. А потом еще сотрудников обучать ему. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2007, 15:02:21 |
|
||
|
что выбрать CString или string ??
|
|||
|---|---|---|---|
|
#18+
Кроик Семёнтолько ИЗБРАНН ЫЙ Почему-то, к/ф матрица вспоминается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2007, 15:03:35 |
|
||
|
что выбрать CString или string ??
|
|||
|---|---|---|---|
|
#18+
Кроик Семёнтолько ИЗБРАНН ЫЙ string. Причем только в том случае, если его (CString) нет в стандартной библиотеке. а нафига вам вперся CString если std::string ЗАВЕДОМО есть в СТАНДАРТНОЙ библиотеке и чем хуже к примеру НЕ ИЗБРАНН ЫЙ CFile ??? нипанимаю ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2007, 15:13:15 |
|
||
|
что выбрать CString или string ??
|
|||
|---|---|---|---|
|
#18+
Akh wrote: > Почему-то, к/ф матрица вспоминается. Не. Представляется картина посвящения нового сотрудника в число избранны: "Ты доказал свою преданность компании, и, поэтому, сегодня тебе мы открываем тебе наш самый страшный секрет... (пауза) CMyString!!!! (зловещий хохот за кадром)" Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2007, 17:37:46 |
|
||
|
что выбрать CString или string ??
|
|||
|---|---|---|---|
|
#18+
На самом деле нужно проботать вопрос с кодировками символов. Вот какие вопросы возникают: 1. Как будет обрабатываться нулевой симол? 2. Насколько возможна работа с многобайтовыми кодировками (возможно, не только char и wchar_t)? Есть подозрение,что string умеет со всеми означенными трудностями справляться. Про CString ничего не знаю. Если автор разберется, будет интересно почитать... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2007, 20:02:17 |
|
||
|
что выбрать CString или string ??
|
|||
|---|---|---|---|
|
#18+
griegПро CString ничего не знаю. Открой хелп да посмотри ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2007, 08:49:45 |
|
||
|
что выбрать CString или string ??
|
|||
|---|---|---|---|
|
#18+
ErV Tubrik wrote: > всегда использовал char *, но что-то надоело, постоянные опасения > нарушения границ или дополнительный страховочный код, "Дополнительный страховочный код" можно было бы загнать один раз в несколько своих собственных процедур для работы со строками. Например, сделать strlen, который не вылетает, если аргумент == 0, или strcpy и strcat, который возвращает уже созданную при помощи new[] строку. > так вот, сейчас > не знаю, что будет проще и удобнее: CString || string ?? string какой - std::string? CString привязан к MFC. std::string стандартный. Лично я QString рекомендую :) Posted via ActualForum NNTP Server 1.4 Вместо char* надо использыватьб basic_string<char>, либо CStringA ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2007, 10:44:38 |
|
||
|
что выбрать CString или string ??
|
|||
|---|---|---|---|
|
#18+
StubВместо char* надо использыватьб basic_string<char>, либо CStringA да ты шо ??? пойду, мужикам скажу, а то они не знают ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2007, 10:54:49 |
|
||
|
что выбрать CString или string ??
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan) Открой хелп да посмотри Там слишком много букв. В общем, пока я подозреваю, что с UTF-32 у CString будут проблемы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2007, 11:27:36 |
|
||
|
что выбрать CString или string ??
|
|||
|---|---|---|---|
|
#18+
grieg Gluk (Kazan) Открой хелп да посмотри Там слишком много букв. В общем, пока я подозреваю, что с UTF-32 у CString будут проблемы. Ну так почитай для начала БУКВАРЬ, а потом вместо того чтобы ПОДОЗРЕВАТЬ, все таки ДОКУМЕНТАЦИЮ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2007, 11:42:41 |
|
||
|
что выбрать CString или string ??
|
|||
|---|---|---|---|
|
#18+
Реально рулит AnsiString (C++Builder) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2007, 18:50:29 |
|
||
|
что выбрать CString или string ??
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan) wrote: > Открой хелп да посмотри Лучше исходники. Stub wrote: > Вместо char* надо использыватьб basic_string<char>, либо CStringA Зачем? grieg wrote: > В общем, пока я подозреваю, что с UTF-32 у CString будут проблемы. QString? > Реально рулит AnsiString (C++Builder) В g++ его нету. Значит, нафиг. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2007, 22:29:40 |
|
||
|
что выбрать CString или string ??
|
|||
|---|---|---|---|
|
#18+
авторQString? Не понял, что именно ты спрашиваешь? Будут ли у QString (Qt) проблемы с кодировками? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2007, 22:49:49 |
|
||
|
что выбрать CString или string ??
|
|||
|---|---|---|---|
|
#18+
grieg wrote: > Не понял, что именно ты спрашиваешь? > Будут ли у QString (Qt) проблемы с кодировками? Я не спрашиваю, я предлагаю. The QString class provides a Unicode character string. QString stores a string of 16-bit QChars, where each QChar corresponds one Unicode 4.0 character. (Unicode characters with code values above 65535 are stored using surrogate pairs, i.e., two consecutive QChars.) Unicode is an international standard that supports most of the writing systems in use today. It is a superset of ASCII and Latin-1 (ISO 8859-1), and all the ASCII/Latin-1 characters are available at the same code positions. Behind the scenes, QString uses implicit sharing (copy-on-write) to reduce memory usage and to avoid the needless copying of data. This also helps reduce the inherent overhead of storing 16-bit characters instead of 8-bit characters. Насчет кодировок - есть кодеки для конвертирования текста, я с ними обильно не общался. Как я понимаю, вас интересуют: int compare ( const QLatin1String & s1, const QString & s2, Qt::CaseSensitivity cs = Qt::CaseSensitive ) QString fromAscii ( const char * str, int size = -1 ) QString fromLatin1 ( const char * str, int size = -1 ) QString fromLocal8Bit ( const char * str, int size = -1 ) QString fromRawData ( const QChar * unicode, int size ) QString fromStdString ( const std::string & str ) QString fromStdWString ( const std::wstring & str ) QString fromUcs4 ( const uint * unicode, int size = -1 ) QString fromUtf8 ( const char * str, int size = -1 ) QString fromUtf16 ( const ushort * unicode, int size = -1 ) QString fromWCharArray ( const wchar_t * string, int size = -1 ) Примеры для работы с кодировками были где-то в демках. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2007, 01:42:24 |
|
||
|
|

start [/forum/topic.php?all=1&fid=57&tid=2028056]: |
0ms |
get settings: |
9ms |
get forum list: |
17ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
298ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
75ms |
get tp. blocked users: |
2ms |
| others: | 228ms |
| total: | 649ms |

| 0 / 0 |
