Область применения библиотек C в C ++ - <X.h> vs <cX>
Язык программирования C ++: 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.
Однако, когда я использую заголовки C в стиле <cX>, мне не нужно определять пространство имен. Например...
#include <cmath>
void f() {
double var = sqrt( 17 );
}
Это будет хорошо скомпилировано. Несмотря на то, что в книге сказано, что использование заголовка <cX> определяет имена только в пространстве имен std, вы можете использовать эти имена без определения пространства имен. Что мне здесь не хватает?
Постскриптум Использование компилятора GNU.GCC