이진 파일을 읽는 데 2 개의 함수가 있습니다.매개 변수 팩 확장 순서
첫번째 기능은 파일에서 sizeof(T)
바이트를 읽습니다
template<typename T>
T read() { ... some IO operations ... };
2 기능은 각 템플릿 매개 변수를 사용하여 첫 번째 여러 번 호출
template<typename... Ts>
std::tuple<Ts...> read_all() {
return std::make_tuple(read<Ts>()...);
};
모든 것이 1 차 함수 호출 순서를 제외하고 잘 작동합니다.
uint32_t a;
uint8_t b;
std::tie(a, b) = read_all<uint32_t, uint8_t>();
같은 들어 첫 번째 read<uint8_t>()
라고 할 것이다 통과 템플릿 매개 변수의 순서를 반전 및 파일의 바이트 순서로 엉망이 read<uint32>()
후.
확실히, 나는 템플릿 인수의 역순으로 전화하여 read_all
을 호출 할 수 있으며 결국에는 올바른 순서로 표시 할 수 있지만 더 확실한 방법이 있습니까?
을, 감사 –