Вопросы по теме 'user-defined-literals'

Почему std::string не определяет умножение или литералы?
В языке, с которым я впервые познакомился, была функция repeat() , которая брала строку и повторяла ее n раза. Например, repeat ("hi", 3) дает результат "hihihi" . Я использовал эту функцию довольно много раз, но, к моему ужасу, я никогда не...
412 просмотров

Есть ли ошибка при синтаксическом анализе выражений доступа к членам для определяемого пользователем целочисленного литерала в Clang и GCC?
Следующий код выглядит как допустимый C++, принятый всеми основными компиляторами: #include <string> #include <iostream> auto main() -> int { using namespace std::string_literals; std::cout << "Hello"s.length();...
50 просмотров

Почему эта подпись шаблона не работает как строковый литерал с использованием кавычек?
C++11 разрешает определяемые пользователем операторы строковых литералов шаблона со следующей подписью шаблона ( взято из CppReference ; возвращаемый тип не обязательно должен быть double ): template <char...> double operator "" _x();...
832 просмотров

Пользовательские литералы C++ для любого типа
На данный момент определяемые пользователем литералы принимают в качестве входных параметров ограниченный набор типов (см. здесь ). Есть ли план принимать любой тип в качестве входного параметра, и если нет, то почему? Например, я мог бы захотеть...
332 просмотров
schedule 30.12.2022

Как обратиться к пользовательскому литеральному оператору внутри пространства имен?
Рассмотрим следующее: #include <iostream> namespace X { void operator ""_test(unsigned long long x) { std::cout << x; } } int main() { using namespace X; 10_test; // 10_X::test; /* doesn't work */ }...
2265 просмотров
schedule 29.12.2022

Зарезервированные имена и пользовательские литералы
Стандарт C++ резервирует имена, начинающиеся со знака подчеркивания, за которым следует заглавная буква во всех областях. Применяется ли это к литеральным операторам пользователя? e.g. int _MyInt; // reserved, violation template <...
146 просмотров

Определяемые пользователем литералы для строки по сравнению с шестнадцатеричным значением
Что касается этого вопроса , почему aa определяемый пользователем литерал для сопоставления шестнадцатеричного значения с оператором строкового литерала, отличным от строки? То есть, почему код std::vector<uint8_t> val1 =...
100 просмотров
schedule 25.04.2023