const LPCTSTR some_array[] vs #DEFINE
От: Аноним  
Дата: 04.04.03 09:57
Оценка:
Hi All!

Кто может привести все за и против использования следующего подхода.
При написании COM+ объекта предлагается использовать следующее:
const LPCTSTR some_array[] = { _T("value1"),_T("value2") и т.д. }; (с выносом за пределы объявления класса — в cpp файл)
а не объявить все эти значения через #define, т.е.
#define VALUE1 _T("value1")
#define VALUE2 _T("value2") и т.д.
и тем более не хранить все эти СТРОКОВЫЕ не изменяющиеся константы в ресурсах.

Чем плохи/хороши эти различные подходы? Какие могут быть подводные камни при использовании UNICODE?

Заранее спасибо
Re: const LPCTSTR some_array[] vs #DEFINE
От: Avogadro http://sbeilin.narod.ru/
Дата: 01.05.03 17:41
Оценка:
Здравствуйте, Аноним, Вы писали:

А>При написании COM+ объекта предлагается использовать следующее:

А>const LPCTSTR some_array[] = { _T("value1"),_T("value2") и т.д. }; (с выносом за пределы объявления класса — в cpp файл)
А>а не объявить все эти значения через #define, т.е.
А>#define VALUE1 _T("value1")

Насколько я помню, у Страуструпа на эту тему хорошее объяснение есть.

Сергей.
Re: const LPCTSTR some_array[] vs #DEFINE
От: RS Земля ICQ: 148844272
Дата: 05.05.03 11:19
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Кто может привести все за и против использования следующего подхода.

А>При написании COM+ объекта предлагается использовать следующее:
А>const LPCTSTR some_array[] = { _T("value1"),_T("value2") и т.д. }; (с выносом за пределы объявления класса — в cpp файл)
А>а не объявить все эти значения через #define, т.е.
А>#define VALUE1 _T("value1")
А>#define VALUE2 _T("value2") и т.д.
А>и тем более не хранить все эти СТРОКОВЫЕ не изменяющиеся константы в ресурсах.

А>Чем плохи/хороши эти различные подходы? Какие могут быть подводные камни при использовании UNICODE?


А>Заранее спасибо


Я отказался от #define и перешел к static LPCTSTR ...=_T("dfgdfg") из-за namespace'ов.
А в ресурсах стоит хранить то, что может быть изменено при локализации твоей проги. Всякие внутренние строки я туда не сую.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.