我正在尝试构造一对,这是从流来的两个值中读取的。这些值需要按正确的顺序读取(T1,然后是T2),但我相信参数评估的顺序在以下内容中未定义:
std::pair<T1, T2> Read(DataStreamRead& stream)
{
return std::pair<T1, T2>(IO::Read<T1>(stream), IO::Read<T2>(stream));
}
(使用中间变量可以正常工作,但是还有另一种方法吗?)
明确订购操作。
std::pair<T1, T2> Read(DataStreamRead& stream)
{
T1 t1 = IO::Read<T1>(stream);
T2 t2 = IO::Read<T2>(stream);
return std::pair<T1, T2>(t1, t2);
}