Почему типы int, int& и int&& одинаковы?

#include <iostream>

using namespace std;

int main()
{
    cout << typeid(int).name() << endl;
    cout << typeid(int&).name() << endl;
    cout << typeid(int&&).name() << endl;
}

Результат:

инт

инт

инт

Мой компилятор clang 5.0.

Почему идентификаторы типов int, int& и int&& одинаковы?


person xmllmx    schedule 25.03.2017    source источник
comment
связанные: stackoverflow.com/a/20170989/1460794   -  person wally    schedule 25.03.2017
comment
typeid игнорирует квалификаторы верхнего уровня.   -  person Kerrek SB    schedule 25.03.2017
comment
Не проблема, но не используйте std::endl, если вам не нужны дополнительные функции, которые он делает. '\n' заканчивает строку.   -  person Pete Becker    schedule 25.03.2017