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

C++中如何用单行代码实现用户输入到变量的赋值?

C++单行读取用户输入并赋值的方法

当然有办法实现单行赋值,不用非得拆成两行写。先说说你之前尝试的写法为什么行不通:

  • const string foo = cin >> foo;:cin >> foo返回的是cin对象本身,不是读取到的字符串,没法直接赋值给string类型的变量;
  • cin >> const string foo;:语法完全错误,const修饰的变量必须初始化,而且cin需要修改变量的值,不能操作const对象。

实现方式

  1. 普通变量单行完成定义+读取
    不用自定义函数的话,直接把定义和读取写在同一行(用分号分隔两个语句)就行,支持所有可被cin读取的类型:

    std::string foo; std::cin >> foo;
    // 如果要读取带空格的整行输入,用getline:
    std::string foo; std::getline(std::cin, foo);
    
  2. 常量变量的单行赋值
    如果你希望变量是const,可以自己写个简单的模板函数封装输入逻辑,这样就能像C#那样用单行表达式赋值:

    #include <iostream>
    #include <string>
    
    template<typename T>
    T read_input() {
        T val;
        std::cin >> val;
        return val;
    }
    
    // 调用示例:
    const std::string foo = read_input<std::string>();
    const int num = read_input<int>();
    const double price = read_input<double>();
    

    这个模板函数能适配各种基础类型和字符串,返回读取到的值,直接赋值给const变量完全没问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 17:01:21