我已经告诉别人,编写using namespace std;代码是错误的,我应该用std::cout和std::cin直接代替.
为什么被using namespace std;认为是不好的做法?是低效还是冒着声明模糊变量(与名称std空间中的函数具有相同名称的变量)的风险?它会影响性能吗?
max()我正在尝试使用Visual-studio 2022 版本 17.7.1 的功能
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
cout << max("5", "4") << "\n";
return 0;
}
Run Code Online (Sandbox Code Playgroud)
输出是:
4
Run Code Online (Sandbox Code Playgroud)
当我将代码更改为:
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
cout << max("4","5") << "\n";
return 0;
}
Run Code Online (Sandbox Code Playgroud)
输出是:
5
Run Code Online (Sandbox Code Playgroud)
但是当我使用代码块时:
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
cout << max("5", "4") << "\n";
return 0;
}
Run Code Online (Sandbox Code Playgroud)
输出是:
5 …Run Code Online (Sandbox Code Playgroud)