The C++ Programming Language : Special Edition の 431 ページには、次のように記載されています。
For every header < X.h > defining part of the C standard library in the global namespace and also in namespace std, there is a header < cX > defining the same names in the std namespace only.
ただし、< cX > スタイルで C ヘッダーを使用する場合、名前空間を修飾する必要はありません。例えば...
#include <cmath>
void f() {
double var = sqrt( 17 );
}
これは正常にコンパイルされます。この本では、 < cX > ヘッダーを使用すると std 名前空間でのみ名前が定義されると書かれていますが、名前空間を修飾せずにそれらの名前を使用することは許可されています。ここで何が欠けていますか?
PS GNU.GCC コンパイラの使用