При использовании стандартной функции C в С++ мы должны префикс каждой функции с помощью std::
?
например (имя файла: std.C
):
#include <cstdio>
int main() {
std::printf("hello\n");
printf("hello\n");
}
Этот файл можно скомпилировать с помощью:
g++ -Wall -Werror -std=c++11 std.C
без ошибок.
мои вопросы:
- Должны ли мы всегда размещать
std::
перед всеми стандартными функциями библиотеки C, когда они используются в С++? - Какое основное различие между заголовочными файлами, такими как
<stdio.h>
и<cstdio>
?