const char * const a
const char const a
const char a;
const char const a;
const const char a;
const const const const const char a;
char
. using type_t = int;
using reference_t = type_t&;
using const_reference_t = const reference_t;
int
- это не явный тип, а параметр шаблона? Что если в шаблон передан уже константный тип? А ничего страшного не будет, просто reference_t
и const_reference_t
будут идентичными. Дело в том, что в конечном итоге компилятору важно только собственное имя типа и его квалификаторы. Но зачем?
typedef const T T1;
...
const T1 c;
const это вообще модификатор поля(переменной, функции, итд), а не типа.
я не понимаю, что за тип такой const int.
Константность это свойство поля, а не типа
const int *p
const -- это константность какого поля? Константность это свойство поля, а не типа.
std::span
. Как ты укажешь константность элементов этого отображения? Как ты укажешь константность элементов произвольного диапазона?у типа нет никакого значения, что значит нельзя менять.
The meaning of a value stored in an object or returned by a function is determined
by the type of the expression used to access it.
typedef const int ConstInt;
const ConstInt i;
typedef const int Int;
GenericServiceHandler
и нет никакой уверенности константный он или нет. Без возможности дважды применять квалификатор пришлось бы использовать метод тыка для проверки и повторять его при каждом обновлении этой библиотеки. std::span
(да и всей стандартной библиотеке контейнеров) в рамках своей гипотезы. Сделай объявление внутренних типов std::span
так, чтобы ты ни разу не использовал квалификатор const
.pointer
, const_pointer
, reference
и const_reference
._Tp
в шаблон может зайти как чистый тип, так и квалифицированный.прошу перечитать сообщение, на которое был мой первый ответ и понять уже наконец, о чём идёт речь
/// Большая поверхностно документированная проприетарная библиотека с горой спагетти-кода...
/// Где-то на окраине одного из заголовочных файлов.
typedef const T T1; // GenericServiceHandler
...
/// Где-то в пространстве функции твоего проекта.
const T1 c;