Литералы в С++17
От: Videoman Россия https://hts.tv/
Дата: 15.12.20 12:01
Оценка:
В С++17 подвезли возможность создавать пользовательские литералы. Так получается что у меня в библиотеке для работы с большими числами литералы активно используются, типа:
constexpr auto oct = 03766713523035452062041773345651416625031020_u128;
constexpr auto dec = 338770000845734292534325025077361652240_u128;
constexpr auto hex = 0xfedcba9876543210fedcba9876543210_u128;
и т.д.

Возникли вопросы по дизайну API на которые в интернете не получилось найти ответ:
1. Допустим у библиотеки свое пространство имен mylib1: как задавать литералы с полной квалификаций:
constexpr auto oct = 03766713523035452062041773345651416625031020 mylib1::_u128; // ???

2. Как с using втащить их в нужное пространство имен:
namespace mylib2
{
using mylib1::_u128; // ???
}

3. Если по стандарту это не возможно, как с этим работать, какие лучшие практики? Или опять как-всегда не продумали и ждать С++2... ?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.