Это мой конвертер в байтовый массив (вектор).Фильтр типов в C++
template<typename T>
void put(T value) {
int size = sizeof(value);
uint8_t *array;
array = reinterpret_cast<uint8_t *>(&value);
if (littleEndian) {
for (int i = 0; i < size; i++) {
arr.push_back(array[i]);
}
} else {
for (int i = size - 1; i >= 0; i--) {
arr.push_back(array[i]);
}
}
}
Как вы можете видеть, эта функция принимает все типы переменных. Можно ли фильтровать типы имен? Например. Я хочу разрешить только uint8_t, int8_t, uint16_t, int16_t etc. + float and double too
? Я не хочу делать заявления 10 if
, потому что он не выглядит чистым.
Какой смысл объявлять и присваивать значение 'array' в разных операторах? – Slava