Я изучаю C++, и я никогда не могу сказать, когда мне нужно использовать ::
. Я знаю, что мне нужно использовать std::
перед cout
и cin
. Означает ли это, что внутри файла iostream
разработчики, которые его создали, создали пространство имен std
и помещают функции cin
и cout
в пространство имен std
? Когда я создал новый класс, который не находится в том же файле, что и main()
по какой-то причине я должен добавить ::
.
Например, если я создаю class
под названием A
, почему мне нужно поставить A::
перед функцией, которую я создаю, хотя я не помещал ее в имя? Например, void A::printStuff(){}
. Если я создаю функцию в main
, почему мне не нужно ставить main::printStuf{}
?
Я знаю, что мой вопрос, вероятно, запутан, но может ли кто-нибудь мне помочь?