Здравствуйте, Erop, Вы писали:
E>Здравствуйте, _hum_, Вы писали:
E>>>Да, это тип для работы с числами, такой же как short, наример. Чем он менее "фундаментальный" чем short?
__>>Если речь про enum, то я уже выше дал определение фундаментальности — независимость определения типа от других типов. Enum заивисит, а значит, не является фундаментальным.
E>Так чем short более фундаментален, чем enum { start = 0, end = 10000 };
?
E>И то и то поддерживается процессором, и то и то числа, поддиапазон int, и то и то занимает 2 байта...
см. ниже определение типа и фундаментальности. а вообще,
en.cppreference.com/w/cpp/language/type
__>>Это не поможет. Проблема-то именно в многообразии типов и не совсем прозрачной их операционной семантике (тот же chsr в VS может в зависимости от настроек проекта идти как unsigned char или signed char).
E>И что? Это шаблонной магии не мешает..
ну, тогда я не понимаю, что вы имеете в виду...
E>>>Во-вторых, если не страдать перфекционизмом, можно через условную компиляцию/версии хедеров для разных платформ/компиляторов сделать.
E>>>Только тут есть проблема. uint8_t нифига не "фундаментальный" тип в твоих понятиях, так что тока char, signed char и unsigned char...
__>>Почему не фундаментальный-то? Это, насколько я понимаю, псевдоним для unsigned char.
E>Тогда я совсем не понимаю, что ты называешь "фундаментальный"...
Опять же, если ссылаться на cppreference.com
Objects, references, functions including function template specializations, and expressions have a property called type, which both restricts the operations that are permitted for those entities and provides semantic meaning to the otherwise generic sequences of bits.
то есть, в с++
E>Псевдоним у тебя фундаментальный, а enum нет?
E>Если вернуться к стандарту и его "встроенным" типам, то enum и указатель — встроенные...
псевдоним — это просто второе
название одной и той же сущности (в данном случае типа).
__>>Люди хотят, чтобы перенумерованы были типы, которые отличаются операционной семантикой. Людям все равно, как называется тип, главное уверенность, что если номер одинаковый, то типы будут всюду в коде вести себя одинаково.
E>Ну это фигня. Легко делается. Вот если ты ещё потребуешь, что бы если номер разнй, то будут вести по-разному, то будет хуже...
вот вы все говорите "легко" и "фигня", а так ни разу еще даже набросок решения не показали