What's the purpose of a leading “::” in a C++ method call

后端 未结 2 1377
滥情空心
滥情空心 2020-12-06 04:24

I\'ve been using the Boost libraries, and in Boost.Exception, I\'ve noticed code like the following:

#define BOOST_THROW_EXCEPTION(x) ::boost::throw_exceptio         


        
2条回答
  •  予麋鹿
    予麋鹿 (楼主)
    2020-12-06 04:45

    To refer to the root namespace. This is often useful if your class or you namespace uses a name which also exists in the root, but at some point you wish to refer to the root version.

    For example, if I have overloaded new in my class, but wish at some point to refer to the default (root) new, then I would use ::new to refer to root new.

提交回复
热议问题