C++ 指定范围内递增初始化一个vector<int> | Python: list(range(31, 90))

通过lambda表达式 + std::iota()实现:

template <typename Tp>
inline void print_vec(const std::vector<Tp>& vec) {
    fmt::print("[{}]\n", fmt::join(vec, ", "));
}


    // 相当于Python的`lst = list(range(31, 90))`
    const std::vector<int> vec = [] () {
        std::vector<int> vec(90 - 31);
        std::iota(vec.begin(), vec.end(), 31);  // 递增,初值为31
        return vec;
    }();  // 原理是定义一个lambda函数然后直接`()`调用
    
    print_vec(vec);

输出:

[31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 
41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 
51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 
61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 
71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 
81, 82, 83, 84, 85, 86, 87, 88, 89]
C语言中有多种初始化vector<int>的方法。以下是其中一些常见的方法: 1. 使用{}初始化列表:可以使用大括号{}来初始化vector<int>,并在括号中提供元素的初始值。例如,vector<int> a = {1, 2, 3, 4, 5}; 将创建一个包含整数1到5的vector。 2. 使用构造函数进行初始化:可以通过调用vector<int>的构造函数来初始化一个vector。例如,vector<int> a(5); 将创建一个包含5个默认初始化的整数的vector。 3. 使用其他vector进行初始化:可以使用另一个vector初始化一个新的vector。例如,vector<int> b = {1, 2, 3, 4, 5}; vector<int> a(b); 或者 vector<int> a = b; 将使用向量b的值初始化向量a。 4. 使用循环初始化元素:可以使用循环来逐个初始化vector的元素。例如,vector<int> a(10); for(int i=0; i<10; i++) a[i] = i; 将创建一个包含0到9的整数序列的vector。 总的来说,C语言提供了多种初始化vector<int>的方法,可以根据具体的需求选择适合的方法来初始化。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [C++-STL-vectorvector初始化vectorint a】【vectorint a(7)】【vectorint a(7,3)】...](https://blog.csdn.net/u013250861/article/details/128088256)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值