Использование данных в initializer_list - PullRequest
1 голос
/ 24 мая 2019

Итак, я смотрю на функцию data и вижу, что она перегружена:

template <class E>
constexpr const E* data(std::initializer_list<E> il) noexcept;

Допустим, я звоню foo(data({ 0, 13, 42 })) с:

void foo(const int* param) {
    cout << param[0] << ' ' << param[1] << ' ' << param[2] << endl;
}

Действительно ли я делаю копию initializer_list?

1 Ответ

3 голосов
/ 24 мая 2019

Да, вы делаете копию initializer_list.

Но вы не делаете копию "списка целых чисел".

initializer_list в основномуказатель и длина.

...