два двоеточия в c++


::

- это оператор расширения области видимости.
используется для получения доступа к элементам пространства имен. например,

std::sort(*arr, pred);

sort - функция из пространства имен std ,мы получаем к ней доступ. ::func() означает, что func() находится в т.н. глобальном пространстве имен, и мы получаем доступ к элементу этого пространства имен.

Класс в си++ также образует собственное пространство имён.