在对象构造函数中是否有编译时表达式来复制数组?默认构造函数使用什么?我想要这样的东西:
struct A
{
int arr[100];
// I want something like this:
A(const A& arg) : arr{arg.arr...} {}
// what I use at the moment (a compile time loop):
A(const A& arg)
{
static_for<0, N>([&](auto i) { arr[i] = arg.arr[i]; });
}
};
我不想使用 std::array
,而且我在复制构造器中有一些调试信息,所以我不能依赖默认的。
最佳答案
据我所知,如果我正确理解您是如何提出问题的,那么目前只有基于循环的解决方案 - 至少到目前为止 c++17
来自 c++20有 constexpr
版本的 copy_n
其他用户应该只使用合适的容器:std::array
关于c++ - 在构造函数中复制静态数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58432294/