информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Spanning Tree Protocol: недокументированное применениеСтрашный баг в Windows
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Microsoft сообщила о 44 миллионах... 
 Множественные уязвимости в VNC 
 Шестой Perl превратится в Raku,... 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
[c++] stl + unicode + xxx_string 23.03.05 23:39  
Автор: void <Grebnev Valery> Статус: Elderman
<"чистая" ссылка>
Сейчас в проекте не используестя UNICODE.
Как будет дальше - точно не знаю. Скорее всего будет.

1) Допустимо ли обойтись использованием basic_string и простейших определений, типа:

#include <vector>
#include <string>
#include <tchar.h>

//-----------------------------------------------------------------------------

typedef std::basic_string <TCHAR> _tstring;

====================================================

2) Или надо анализировать определения _UNICODE, как это делается, например, в <tchar.h>, типа :

#ifdef _UNICODE
typedef wstring _tstring;
#else
#ifdef _MBSC
typedef string _tstring;
#endif
#endif

Возможно, что есть разница в п.1 и п.2
Спасибо.
[C++] Допустимо 24.03.05 12:49  
Автор: amirul <Serge> Статус: The Elderman
<"чистая" ссылка>
> typedef std::basic_string <TCHAR> _tstring;

TCHAR вводится как typedef и становится полным синонимом одного из типов (и при спецификации шаблонов тоже). Так что такой вариант вполне подходит

> 2) Или надо анализировать определения _UNICODE, как это
> делается, например, в <tchar.h>, типа :
>
> #ifdef _UNICODE
> typedef wstring _tstring;
> #else
> #ifdef _MBSC
> typedef string _tstring;
> #endif
> #endif

Можно и так, хотя можно упустить какие нибудь другие определения (типа SBCS и пр.)

> Возможно, что есть разница в п.1 и п.2
> Спасибо.
Если во втором варианте ничего не пропущено, то фактически оба определения _tstring-а идентичны
[C++] Допустимо. 24.03.05 17:28  
Автор: void <Grebnev Valery> Статус: Elderman
<"чистая" ссылка>
> TCHAR вводится как typedef и становится полным синонимом
> одного из типов (и при спецификации шаблонов тоже). Так что
> такой вариант вполне подходит

Спасибо.

> Можно и так, хотя можно упустить какие нибудь другие
> определения (типа SBCS и пр.)

Конечно, здесь не полное определение.
1






Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2019 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach