gpt4 book ai didi

c++ - 可以通过重复函数调用来初始化 const std::array 吗?

转载 作者:太空狗 更新时间:2023-10-29 20:02:12 24 4
gpt4 key购买 nike

<分区>

这样可以吗

int foo(){
static int i=0;
ret = i++;
return ret;
}
const std::array<int,3> arr = {{foo(),foo(),foo()}};

在(模板?)函数或指定“为每个成员的初始化调用 foo”的方式中?即

const std::array<int,3> arr = fill_with_foo<3,foo>();

对于上下文,arr 是队列中的缓冲区,将从中读取 N 个元素(在编译时已知)。目前我正在使用代码生成来创建长格式,我有一个函数,它只是分配一个普通数组,用一个 for 循环填充它并返回数组,但我想知道是否可以有缓冲区数组 const。

//编辑:与链接的“重复”不同,我需要

int foo();

在编译时是不确定的,即我认为 constexpr 是不可能的(正如我所说,它需要从运行时填充的队列中读取)。我主要对删除无用的拷贝感兴趣

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com