Вопросы по теме 'user-defined-literals'
Почему std::string не определяет умножение или литералы?
В языке, с которым я впервые познакомился, была функция repeat() , которая брала строку и повторяла ее n раза. Например, repeat ("hi", 3) дает результат "hihihi" .
Я использовал эту функцию довольно много раз, но, к моему ужасу, я никогда не...
412 просмотров
schedule
23.02.2023
Есть ли ошибка при синтаксическом анализе выражений доступа к членам для определяемого пользователем целочисленного литерала в Clang и GCC?
Следующий код выглядит как допустимый C++, принятый всеми основными компиляторами:
#include <string>
#include <iostream>
auto main()
-> int
{
using namespace std::string_literals;
std::cout << "Hello"s.length();...
50 просмотров
schedule
20.03.2023
Почему эта подпись шаблона не работает как строковый литерал с использованием кавычек?
C++11 разрешает определяемые пользователем операторы строковых литералов шаблона со следующей подписью шаблона ( взято из CppReference ; возвращаемый тип не обязательно должен быть double ):
template <char...> double operator "" _x();...
832 просмотров
schedule
05.01.2023
Пользовательские литералы 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 просмотров
schedule
21.07.2023
Определяемые пользователем литералы для строки по сравнению с шестнадцатеричным значением
Что касается этого вопроса , почему aa определяемый пользователем литерал для сопоставления шестнадцатеричного значения с оператором строкового литерала, отличным от строки? То есть, почему код
std::vector<uint8_t> val1 =...
100 просмотров
schedule
25.04.2023