RM
Size: a a a
RM
RM
RM
AB
static_assert(std::is_same_v<T, int&>);
static_assert(std::is_same_v<T&&, int&>);
RM
AB
RM
IL
IL
O
T
видно даже визуально: cv int &
^^^^^^^^^^
| |
...foo( T &&)...
cv int &&
^^^^^^ ^^
| |
...foo( T &&)...
cv int &&
^^^^^^^^^
|
...foo( T )...
const int &&
^^^^^^^^^^^^
|
...foo( T )...
const int &&
^^^^^ ^^^^^^^
| |
...foo(const T )...
Или я неправильно понял, в чём ты путаешься? Или, пока я это печатал, может, всё стало понятно...RM
T
видно даже визуально: cv int &
^^^^^^^^^^
| |
...foo( T &&)...
cv int &&
^^^^^^ ^^
| |
...foo( T &&)...
cv int &&
^^^^^^^^^
|
...foo( T )...
const int &&
^^^^^^^^^^^^
|
...foo( T )...
const int &&
^^^^^ ^^^^^^^
| |
...foo(const T )...
Или я неправильно понял, в чём ты путаешься? Или, пока я это печатал, может, всё стало понятно...O
O
T
видно даже визуально: cv int &
^^^^^^^^^^
| |
...foo( T &&)...
cv int &&
^^^^^^ ^^
| |
...foo( T &&)...
cv int &&
^^^^^^^^^
|
...foo( T )...
const int &&
^^^^^^^^^^^^
|
...foo( T )...
const int &&
^^^^^ ^^^^^^^
| |
...foo(const T )...
Или я неправильно понял, в чём ты путаешься? Или, пока я это печатал, может, всё стало понятно...AB
AB
AB
AB
using T = int&
using U = const T;
O
O
T
видно даже визуально: cv int &
^^^^^^^^^^
| |
...foo( T &&)...
cv int &&
^^^^^^ ^^
| |
...foo( T &&)...
cv int &&
^^^^^^^^^
|
...foo( T )...
const int &&
^^^^^^^^^^^^
|
...foo( T )...
const int &&
^^^^^ ^^^^^^^
| |
...foo(const T )...
Или я неправильно понял, в чём ты путаешься? Или, пока я это печатал, может, всё стало понятно...