Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
最近、レビューしていたコードで次の関数定義を見つけました。
void func( const::std::string& str ) { // Do something... }
が合法であるように見えることに驚いていconst::std::stringます (GCC4.4、GCC 4.8、Clang 3.2、および Intel 13.0.1 でコンパイルされます)。
const::std::string
constとして使用できることを標準で指定していますnamespaceか?
const
namespace
構文が次のように評価されるため、これはコンパイルされます。
void func( const ::std::string& str )
これはstd、グローバル スコープで宣言されていることを意味します。このコンテキストでは、余分な::前stdに言及するのは冗長です。
std
::