You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在一行中紧凑书写多条using std::foo语句?

如何紧凑声明std中的单个名字?

嘿,这个问题挺常见的——毕竟谁都想代码既规范又简洁对吧?

首先得明确:单独声明std::里的名字(比如using std::cout; using std::endl;)确实是比using namespace std;更稳妥的做法,《C++ Primer》推荐的这种方式完全没问题。

那要把这些声明挤到一行的话,其实有两种情况要区分:

  • C++17及以后版本:可以用逗号分隔多个using声明,这是最紧凑的写法,示例如下:
    #include <iostream>
    using std::cout, std::endl, std::cin; // 一行搞定多个std名字声明
    
    int main() {
        cout << "Hello World!" << endl;
        return 0;
    }
    
    这种写法是标准允许的,不会有编译错误,完美符合你想要的紧凑需求。
  • C++17之前的版本:抱歉,没法再更紧凑了,只能一行一个using std::xxx;。这也是你之前仿照变量定义写法报错的核心原因——旧标准里不支持逗号分隔的using声明语法,变量定义的逗号规则不适用于using声明。

最后给个小提醒:就算用C++17的紧凑写法,也别把太多不相关的std名字堆在一行,比如把输入输出类的放一行,容器类的放另一行,兼顾紧凑性和可读性才是最优解。

内容的提问来源于stack exchange,提问作者eric

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 06:57:08