我想纠正一个函数,该函数将比较两个ISO 6801时间戳并返回最新的时间戳。我无法找到创建函数的简单方法
例如给定string s1 = 2012-10-10 09:42:00;
和string s2 = 2012-10-10 09:52:00;
compare_timestamp(s1,s2) 将返回 s2
如果您只是需要找到最近的,字符串比较就足够了。
string &compare_timestamp(string &s1, string &s2) {
return s1.compare(s2) > 0 ? s1 : s2;
}
std::string & compare_timestamp(std::string & lhs, std::string & rhs) {
return std::max(lhs, rhs);
}
std::string const & compare_timestamp(std::string const & lhs, std::string const & rhs) {
return std::max(lhs, rhs);
}
现在,更好的解决方案是创建一个TimeStamp
类,而不是直接使用std::string
。TimeStamp
可以在内部保持std::string
和重载operator<
以仅遵从std::string::operator<
,但您将使用强类型