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

如何在C++中优雅返回特定vector元素?无需新建变量返回大小为2的vector

直接返回大小为2的vector的方法

你之前尝试的<1,2>是模板参数语法,不能用来初始化vector对象。正确的做法是使用列表初始化(C++11及以后版本支持),直接用花括号包裹元素返回即可,不需要额外创建vector变量:

#include <vector>

std::vector<int> foo()
{
    return {1, 2};
}

原理说明

{1,2}会被编译器识别为std::initializer_list<int>类型,而std::vector自带可接收该参数的构造函数,编译器会自动完成vector对象的构造并返回,省去了手动创建变量的步骤。

如果你的项目仍在使用C++03或更早的标准,就只能显式构造vector后返回,比如:

std::vector<int> foo()
{
    std::vector<int> res;
    res.push_back(1);
    res.push_back(2);
    return res;
}
// 或更简洁的显式构造写法
std::vector<int> foo()
{
    return std::vector<int>(2);
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 02:02:21