В чем разница между мной, явным образом определяющим каждый API Win32, который я использую в своем проекте как W (Wide) или A (ANSI), и позволяя ему решать конфигурацию решения/проекта? Кроме того, будучи в состоянии изменить его на лету, то есть.Разница между явным использованием API-интерфейсов Unicode/ANSI Windows и возможностью их обработки с помощью псевдонимов?
Скажем, мне нужен только Юникод в данный момент по какой-то причине, было бы лучше, если бы я просто позволил им автоматически перейти к правильному или явно определить их? Может ли это разорвать некоторые системы при выпуске, если я буду разрабатывать только ANSI или Unicode, а также поддерживать оба?
Если по какой-либо причине Microsoft решает использовать UTF32 вместо UTF16 и обесценить широкоформатные функции, если вы используете псевдонимы и макросы 'T'-family, то все, что вам нужно сделать, это перекомпиляция и он должен (надеюсь) работать нормально. Если вы используете функции напрямую, вам предстоит еще много работы. Это очень маловероятный сценарий, но единственное, что я могу себе представить на вершине моей головы на данный момент. –
Преимущество использования типов и функций Unicode, а не макросов заключается в том, что ваш код более четкий. Вы не собираетесь поддерживать Windows 98, поэтому зачем писать код для этого. Вы не будете компилироваться без поддержки Unicode. Держите жизнь простой и избегайте ненужного обращения. –
@DavidHeffernan: общие текстовые сопоставления действительно больше, чем просто архаичные остатки прошлого. Они служат в качестве переключателя, который можно контролировать извне. Вряд ли это может быть так, комментарий Йоахима изложил один сценарий, где общие текстовые сопоставления могут быть правильным способом продвижения вперед. – IInspectable