C++ передача списка чисел

201
08 мая 2018, 00:09

Нужно передавать функции или конструктору список чисел определенного типа, например, int, uint8_t или uint32_t. Как это сделать просто, производительно и так, чтобы работать с этим список как с массивом, то есть уметь обращаться по индексу?

Есть такой код:

#ifndef FIELD_H
#define FIELD_H
#include <cstdint>
#include <initializer_list>

namespace field
{
    class FieldElement
    {
        uint8_t chunks[5];
    public:
        FieldElement(std::initializer_list<uint8_t> a);
    };
    FieldElement zero();
    FieldElement one();
}
#endif

Нужно иметь возможность создать элемент конечного поля из списка чисел или массива байт. Как это сделать? Использовать std::tuple? Какие еще средства для этого есть?

Answer 1

Напишите тело конструктора:

FieldElement::FieldElement(std::initializer_list<uint8_t> a) 
{
     std::copy_n(a.begin(), 5, chunks); 
}
READ ALSO
Чтение данных с HID устройства

Чтение данных с HID устройства

Передо мной стоит следующая задача: написать программный код в OC Windows в среде Borland C++ Builder, соотвественно, на языке С++, который позволит считывать...

152
Как выбраться с программистского дна?

Как выбраться с программистского дна?

Пользователи StackOverflow! Нужны дельные советы по этой довольно актуальной темеПредставьте всем знакомую ситуацию: есть диплом о высшем образовании...

155
Как отключить ключевое слово export в модулях javascript?

Как отключить ключевое слово export в модулях javascript?

Вчера попробовал новые javascript модули, я уже пользовался модулями в D и поэтому понимал что эта вещ хорошая, и плохо что в основных популярных...

219
Vue js 2 Error in render: &ldquo;TypeError: Cannot read property &#39;term_id&#39; of undefined&rdquo;

Vue js 2 Error in render: “TypeError: Cannot read property 'term_id' of undefined”

Недавно начал изучать VueJS 2, и при создании фильтра для таксономий для wordpress темы столкнулся с такой проблемой

196