Gists

C++

C++

萌新问题

C++ 使用字符串一定要 #include <string> 吗
#include <iostream>
// #include <string>

如果引入 iostream,会间接引用 string 头文件,所以就算注释掉第二行,程序也能正常编译运行。如果去掉注释,由于 C++ 头文件使用了 #ifnfef #define #endif 所以不会二次引入,程序同样能正常编译运行。

为什么尽量不要使用 using namespace std

如果是在源码里面用则无所谓,但是如果放到了头文件里,被其它代码引入了,那很容易带来困惑。如果想在头文件里用,最好用自己的命名空间包一层,同时做最小暴露,如使用 vector 那就 using std::vector。


Copyright © 2024 Lionad - CC-BY-NC-CD-4.0