2014-11-28 3 views

ответ

3

Оно обозначает глобальное пространство имен.

Рассмотрим этот код, например

#include <iostream> 

int x = 10; 

namespace N 
{ 
    int x = 20; // Or you could write int x = 10 + ::x; 
} 

int main() 
{ 
    int x = 30; 

    std::cout << ::x + N::x + x << std::endl; 
} 

Примите во внимание, что в этом заявлении

std::cout << ::x + N::x + x << std::endl; 

вы могли бы написать ::N::x вместо N::x, потому что пространство имен N заключена в глобальном пространстве имен.

+0

Если я объявляю использование пространства имен std; на самом верху, могу написать: cout << ....... << :: endl; вместо? –

+0

@cpp_noname Да, вы можете. Вы должны прочитать о поиске квалифицированного имени –

Смежные вопросы