C++ 指定范围内递增初始化一个vector<int> | Python: list(range(31, 90))
2023-12-20 15:03:55
通过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]
文章来源:https://blog.csdn.net/weixin_44220976/article/details/135104853
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!