Значение скобок в decltype ((c))?

я читалэта статья в Википедии оC++11 Вывод типа особенность.

Есть пример, и я цитирую:

#include 
int main() {  
    const std::vector v(1);  
    auto a = v[0];        // a has type int  
    decltype(v[1]) b = 1; // b has type const int&, the return type of  
                          //   std::vector::operator[](size_type) const  
    auto c = 0;           // c has type int  
    auto d = c;           // d has type int  
    decltype(c) e;        // e has type int, the type of the entity named by c  
    decltype((c)) f = c;  // f has type int&, because (c) is an lvalue  
    decltype(0) g;        // g has type int, because 0 is an rvalue  
}

в следующих строках:

    decltype(c) e;        // e has type int, the type of the entity named by c  
    decltype((c)) f = c;  // f has type int&, because (c) is an lvalue  

Какие'Разница междуc а также(c)? Почему(c) представлятьLvalue?

Ответы на вопрос(2)

Ваш ответ на вопрос