c ++:使用声明中的逗号分隔列表

c++ : comma separated list in using declaration

为什么在 c++ 的 using 声明语句中使用逗号分隔列表是一种不好的做法?

例如

using std::cout;
using std::cin;
using std::endl;

被认为比

更好的代码
using std::cout,std::cin,std::endl;

如果代码包含以逗号分隔的 using 声明列表,一些编译器(例如 gcc)甚至会发出警告。

当然,最佳做法是使用完全限定名称作为标识符。

cppreference 中所述,表格

using declarator-list;

仅从 C++17 开始可用。

如果您阅读警告,您的编译器可能会告诉您这一点!

从另一边走近,不赞成横列的原因:

  1. using std::cout; 在我的屏幕上大约一英寸宽。这允许眼睛以很少的水平移动来阅读它,并且移动到下一行的垂直距离比必须阅读一个项目然后下一个项目和下一个项目要短得多......大多数人可以更快地阅读垂直滚动。

  2. 其次,垂直排列你往往会得到更容易识别的图案。对于大多数读者来说,流氓 stb:: 会在 std:: 的阵容中脱颖而出。不多,但它可能会节省您的编译时间,并且在某些情况下编译可能需要很长时间。

  3. 插入、删除或更改 using 声明如果在单独的行中,将更容易在文件差异输出中识别出来。如果更改全部在线埋没,您必须扫描两条线和 运行 Mark 1 Eyeball diff 以找出更改的内容,而 Mark 1 Eyeball 和人类 CPU 做这件事真的很糟糕.