|
|
|
|
|
by rian
4125 days ago
|
|
reinterpret_cast<>?! that's implementation-defined. not to mention type-aliasing which is undefined behavior. what you want is: template<typename T>
typename std::enable_if<std::is_trivial<T>::value, T>::type
getValue(std::array<char, sizeof(T)> bytes) {
T toret;
std::memcpy(&toret, bytes.data(), sizeof(toret));
return toret;
}
there is no-performance hit compared to your function. this is a type-safe and well-defined version of the function above.btw, was your usage of trivial a pun? if so, that's amazing. we need more type traits puns. |
|