реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> C++98 совместимый двоичный литерал, Знатоки С++, поктритикуйте реализацию
sigmaN
сообщение Apr 5 2017, 11:04
Сообщение #1


I WANT TO BELIEVE
******

Группа: Свой
Сообщений: 2 617
Регистрация: 9-03-08
Пользователь №: 35 751



Ворвался вчера ночью и соорудил вот это (странно, почему-то на не за архивированный .hpp файл форум ответил, что я не имею права на загрузку):
Прикрепленный файл  BinaryLiteral.zip ( 2.08 килобайт ) Кол-во скачиваний: 32

https://pastebin.com/PXt4Y0A6

Используется вот так:
BinaryLiteral8bit(10100101)
BinaryLiteral16bit(00100000,00010000)
BinaryLiteral32bit(10000000,01000000,00100000,00010000)

Естественно, никакого рантайма, это константное выражение годное к передаче хоть в параметр шаблона.
Во время компиляции даст по рукам, если вы ошиблись и ввели не 8 цифр на байт или случайно использовали что-то кроме 0 и 1.

Сделано ибо при переезде с GCC на IAR обнаружилось, что 0b10101010 больше не работает ибо это было гнутое расширение, а в стандарте бинарные литералы только начинают появляться.


--------------------
The truth is out there...
Go to the top of the page
 
+Quote Post
Kabdim
сообщение Apr 5 2017, 11:39
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 558
Регистрация: 26-11-14
Из: Зеленоград
Пользователь №: 83 842



Если тянуть буст, то может и пользоваться бустом?
УПД Вообще какая-то каша, что-то частично стянуто с буста... лицензию от буста забыли добавить, бррр.
Go to the top of the page
 
+Quote Post
sigmaN
сообщение Apr 5 2017, 11:54
Сообщение #3


I WANT TO BELIEVE
******

Группа: Свой
Сообщений: 2 617
Регистрация: 9-03-08
Пользователь №: 35 751



Из буста же только статик ассерт. Ну лицензию надо бы, да )

про BOOST_BINARY кстати не знал. Ох веселая реализация у них!

Upd:
Даа.... У меня простая рекурсивная шаблонная магия, а там препроцессорная. Препроцессорная черная магия! ))))


--------------------
The truth is out there...
Go to the top of the page
 
+Quote Post
_pv
сообщение Apr 5 2017, 20:24
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 563
Регистрация: 8-04-05
Из: Nsk
Пользователь №: 3 954



имхо при чтении перепутать положение какой-нибудь единицы в 8ми значном слове куда проще чем при конверсии из hex в уме.
да и при записи ошибиться проще, если без проверок, ну а с проверкой на количество введённых символов, пожалуй без разницы.
соответственно именно поэтому скорее всего и нет стандартных средств - за ненадобностью.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 11:46
Рейтинг@Mail.ru


Страница сгенерированна за 0.01413 секунд с 7
ELECTRONIX ©2004-2016