2

2 つの ISO 6801 タイム スタンプを比較して最新のタイム スタンプを返す関数を修正したいと考えています。関数を簡単に作成する方法がわかりません

たとえばstring s1 = 2012-10-10 09:42:00;string s2 = 2012-10-10 09:52:00;

compare_timestamp(s1,s2) は s2 を返します

4

2 に答える 2

4

より新しいものを見つける必要がある場合は、文字列比較で十分です。

string &compare_timestamp(string &s1, string &s2) {
    return s1.compare(s2) > 0 ? s1 : s2;
}
于 2012-12-19T02:13:56.957 に答える
2
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::stringTimeStamp内部的に a std::stringand オーバーロードoperator<を保持して を延期することができますが、強力な型std::string::operator<を使用することになります

于 2012-12-19T04:20:05.873 に答える