Скопировать статический массив в конструктор - PullRequest
1 голос
/ 17 октября 2019

Есть ли выражение времени компиляции для копирования массива в конструктор объекта? Что использует конструктор по умолчанию? Я хочу что-то вроде этого:

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, и у меня есть некоторая отладочная информация в копии ctor, поэтому я не могу полагаться на стандартную.

1 Ответ

5 голосов
/ 17 октября 2019

AFAIK, пока есть только решение, основанное на циклах, если я правильно понимаю, как вы сформулировали вопрос - по крайней мере, на данный момент

От существует constexpr версия copy_n

Другие пользователи должны просто использовать соответствующий контейнер: std::array

...