Как Вы преобразовываете проект Visual Studio из использования широких строк к обычным строкам

Если вы пропустите конструктор, это не будет explicit. Если вы не = default, это не будет тривиальным .

Итак, если вы хотите, чтобы конструктор был explicit, и вы также хотите, чтобы он оставался тривиальным, то, что вы видите, является единственной доступной опцией.

7
задан Brian R. Bondy 7 April 2009 в 20:38
поделиться

2 ответа

Щелкните правой кнопкой по своему проекту->, Свойства затем переходят к следующему элементу дерева:

Свойства конфигурации-> Общий

Для выбора Unicode:
Используйте символьные строки Unicode

Для нормального многобайтового выбора:
Используйте многобайтовый набор символов

Когда Вы помещаете TEXT() или _T() вокруг Ваших строк Вы делаете это совместимым с обеими из опций символьной строки. Если Вы выбираете Use multi-byte character set затем Вам ничто не нужно вокруг Ваших строк. Если Вы выбираете Use unicode character set, Вам нужно, по крайней мере, L перед Вашими строками.

Путем выбора Use Unicode Character Strings Вы также значением по умолчанию с помощью всего API Win32 тот конец в W. Пример: MessageBox карты к MessageBoxW.

Когда Вы выбираете Use multi-byte character set Вы также значением по умолчанию с помощью всего API Win32 тот конец в A. Пример: MessageBox карты к MessageBoxA.

16
ответ дан 6 December 2019 в 11:52
поделиться

Стоит отметить, что вы можете явно объявить строковые литералы широких символов в форме:

WCHAR *s = L"Hello Wide World.";

, для которой требуется меньше нажатий клавиш, чем в макросах TEXT () или _T (), но при этом строка широких символов, даже если UNICODE не определен.

1
ответ дан 6 December 2019 в 11:52
поделиться