|
116 / 106 / 51
Регистрация: 29.03.2016
Сообщений: 480
|
|
Wchar_t и unsigned wchar_t в windows04.04.2016, 12:13. Показов 3773. Ответов 22
Метки нет (Все метки)
Печально, но факт:
wchar_t - 2 байта, unsigned wchar_t - 4 байта Вопрос1: используется ли unsigned wchar_t для хранения UNICODE-символов d windows?, и если да то.. Вопрос2: как будут размещаться байты при конвертировании char ('1') в unsigned wchar_t (00 00 00 31)? Вопрос3: Почему эти 2 типа так отличаются?
0
|
|
| 04.04.2016, 12:13 | |
|
Ответы с готовыми решениями:
22
Почему const wchar_t* воспринимается как wchar_t* ? Cannot convert from 'wchar_t' to 'const wchar_t *'
|
|
1550 / 877 / 179
Регистрация: 05.12.2015
Сообщений: 2,555
|
|
| 04.04.2016, 13:33 | |
|
0
|
|
|
116 / 106 / 51
Регистрация: 29.03.2016
Сообщений: 480
|
||||||
| 04.04.2016, 15:40 [ТС] | ||||||
|
avgoor, в стандарте может и нет, а у меня на Dev-C++ на винде позволяет так делать
и функция typeid(unsigned wchar_t).name() из <typeinfo> возвращает 'j', что аналогично unsigned int Добавлено через 2 минуты
0
|
||||||
|
1550 / 877 / 179
Регистрация: 05.12.2015
Сообщений: 2,555
|
||
| 04.04.2016, 15:59 | ||
|
Гарантируется, что wchar_t может содержать в себе самый широкий символ платформы. wchar_t используется для хранения символов и для арифметики он не предназначен, по этому он и не бывает знаковым/беззнаковым. (кстати, надеюсь, помните, что signed char, unsigned char и char - три разных типа из которых char предназначен для строковых операций, и про него нельзя сказать - знаковый он или нет). 2) Зависит от платформы. на x86 - wchar_t(0x00ff) в памяти разместится как {0xff, 0x00} 3) См п.1 - для гих ничего не гарантируется.
1
|
||
|
-41 / 49 / 5
Регистрация: 10.01.2017
Сообщений: 1,915
|
|||||||
| 28.10.2021, 18:51 | |||||||
[QUOTE=avgoor;8977414] ... и для арифметики он не предназначен... [CPP] Что в данном случае означает для арифметики не предназначен ?
0
|
|||||||
|
Вездепух
12938 / 6805 / 1821
Регистрация: 18.10.2014
Сообщений: 17,226
|
||
| 28.10.2021, 19:07 | ||
unsigned wchar_t.
0
|
||
|
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
|
||||||||
| 28.10.2021, 19:26 | ||||||||
|
TheCalligrapher, да, но :
Ни разу не видел в спецификациях С++ что то про wchar_t Добавлено через 9 минут
разница лишь в способе обнаружения ошибки, имхо, но это не точно, так говорит мне разбавленная интуиция.
0
|
||||||||
|
19500 / 10105 / 2461
Регистрация: 30.01.2014
Сообщений: 17,816
|
||
| 28.10.2021, 19:28 | ||
|
Я вот понять не могу, откуда эта тяга делать заявления по поводу вещей, в которых вы (не вы конкретно, а все те, кто так делает) не уверены\плохо разбираетесь? При всей-то полноте доступной информации, до которой добраться можно буквально в два клика. Зачем писать "я думаю, что wchar_t вообще не стандартный тип", если вы перед этим легко можете проверить, правильно вы думаете или нет? Я правда искренне этого не понимаю.
0
|
||
|
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
|
|||
| 28.10.2021, 19:32 | |||
|
Добавлено через 1 минуту DrOffset, потому что по этому "стандартному" типу далеко не четкая документация по тому же cppreferrence а читать изначальные спецификации С++ в силах не каждый, да и в 99% случаев там просто филологический мусор, не нужный на практике. Добавлено через 1 минуту
Добавлено через 32 секунды DrOffset, я не пойму почему наезд на меня, если не правы все ваышестоящие
0
|
|||
|
19500 / 10105 / 2461
Регистрация: 30.01.2014
Сообщений: 17,816
|
||
| 28.10.2021, 19:33 | ||
|
А тип таки стандартный без всяких кавычек, и моя ссылка на "изначальную" спецификацию это прямо подтверждает.
0
|
||
|
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
|
||
| 28.10.2021, 19:34 | ||
|
0
|
||
|
19500 / 10105 / 2461
Регистрация: 30.01.2014
Сообщений: 17,816
|
||
| 28.10.2021, 19:34 | ||
|
Еще более вышестоящих я даже обсуждать не буду, потому что это старые посты и не факт, что это люди вообще есть на форуме до сих пор.
0
|
||
|
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
|
|
| 28.10.2021, 19:38 | |
|
И теми же строками на которые вы ссылаетесь Комиссия про стандартизацию С++ снимает с себя отвественность за этот тип, неявно убирая его из стандарта
Добавлено через 1 минуту и вообще STL не является стандартом С++, о чем вы вообще ? Добавлено через 43 секунды size_t тоже не стандартный тип Добавлено через 31 секунду не встроенный
0
|
|
|
19500 / 10105 / 2461
Регистрация: 30.01.2014
Сообщений: 17,816
|
||||||
| 28.10.2021, 19:43 | ||||||
|
http://eel.is/c++draft/basic.t... damental-7
Добавлено через 5 минут Стандартный - значит описанный в стандарте. Не нужно ничего выдумывать. Если нечто в стандарте описано как implementation-defined, значит стандарт определяет это как imlementation-defined. И это определение как imlementation-defined является стандартным, именно по этой причине. И если вам говорят, что нечто является стандартным, это означает, что открыв этот самый стандарт вы найдете там описание этого нечта.
0
|
||||||
|
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
|
||
| 28.10.2021, 19:45 | ||
|
Про стандарты это извечная тема во всех областях бытия.
В программистах почти всегда можно сойтись на более точных терминах. Как я уточнил, есть встроенные типы и все остальные, называемые пользовательскими. Нам точно нужно в это углубляться ? А про Поэтому пусть себе так дальше и думает.
0
|
||
|
19500 / 10105 / 2461
Регистрация: 30.01.2014
Сообщений: 17,816
|
|
| 28.10.2021, 19:46 | |
|
0
|
|
|
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
|
|
| 28.10.2021, 19:48 | |
|
DrOffset;15806204"]И если вам говорят, что нечто является стандартным, это означает, что открыв этот самый стандарт вы найдете там описание этого нечта.[/quote]
http://eel.is/c++draft вот это кстати не про стандарты, это просто описание проекта.
0
|
|
|
19500 / 10105 / 2461
Регистрация: 30.01.2014
Сообщений: 17,816
|
|||
| 28.10.2021, 19:51 | |||
|
Если некий компилятор делает его через алиас, значит он просто нарушает спецификацию. При этом сам факт такого нарушения никак не влияет ни на встроенность wchar_t в частности, ни на его стандартность в целом. Добавлено через 2 минуты
0
|
|||
|
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
|
||
| 28.10.2021, 19:55 | ||
|
И с моим подходом и легче и программировать и жить. Не знаю чем для вас встроенный алиас отличается от рчуного, но видимо он медом помазан, и стандарт видно тоже. Что бы закрывать глаза на обычную логику. Тема закрыта.
0
|
||
|
19500 / 10105 / 2461
Регистрация: 30.01.2014
Сообщений: 17,816
|
|||
| 28.10.2021, 20:07 | |||
|
Прямым текстом написано - отдельный тип, distinct type именно так и переводится, если что. Выделение красным - мое. Вам по какой-то причине просто кажется, что так правильнее. С логикой это ничего общего не имеет. Чистый субъективизм. У нас есть формальная система, и в рамках нее мы можем рассуждать. Она может нам нравится или не нравится, но прикрывать свои личные предпочтения логикой - абсурдно. И вы так и не ответили, почему в вашей "логике" char выглядит нормально, а wchar_t уже какой-то не такой? При том, что для них введены совершенно идентичные правила.
1
|
|||
| 28.10.2021, 20:07 | |
|
Помогаю со студенческими работами здесь
20
Error: cannot bind 'std::basic_ostream<wchar_t>' lvalue to 'std::basic_ostream<wchar_t>&&'| Wchar_t wchar_t wchar_t to LPCWSTR Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&d=1772460536
Одним из. . .
|
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
|
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
|
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
|
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|