Кто может привести все за и против использования следующего подхода.
При написании COM+ объекта предлагается использовать следующее:
const LPCTSTR some_array[] = { _T("value1"),_T("value2") и т.д. }; (с выносом за пределы объявления класса — в cpp файл)
а не объявить все эти значения через #define, т.е.
#define VALUE1 _T("value1")
#define VALUE2 _T("value2") и т.д.
и тем более не хранить все эти СТРОКОВЫЕ не изменяющиеся константы в ресурсах.
Чем плохи/хороши эти различные подходы? Какие могут быть подводные камни при использовании UNICODE?
Здравствуйте, Аноним, Вы писали:
А>При написании COM+ объекта предлагается использовать следующее: А>const LPCTSTR some_array[] = { _T("value1"),_T("value2") и т.д. }; (с выносом за пределы объявления класса — в cpp файл) А>а не объявить все эти значения через #define, т.е. А>#define VALUE1 _T("value1")
Насколько я помню, у Страуструпа на эту тему хорошее объяснение есть.
Здравствуйте, Аноним, Вы писали:
А>Кто может привести все за и против использования следующего подхода. А>При написании 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'ов.
А в ресурсах стоит хранить то, что может быть изменено при локализации твоей проги. Всякие внутренние строки я туда не сую.