有没有更有效的方法来比较结构中的多个值?

时间:2018-05-17 14:06:13

标签: c++ struct operator-overloading

对于我正在研究的项目,我有一个时间戳结构,包含多个时间值,如秒,分钟,小时等。
我想做一个<操作员并想出了以下怪物:

bool operator< (const RTCTime& lhs, const RTCTime& rhs) {
    if (lhs.getYear() > rhs.getYear()) return false;
    else if (lhs.getYear() == rhs.getYear()) {
        if (lhs.getMonth() > rhs.getMonth()) return false;
        else if (lhs.getMonth() == rhs.getMonth()) {
            if (lhs.getDayOfTheMonth() > rhs.getDayOfTheMonth()) return false;
            else if (lhs.getDayOfTheMonth() == rhs.getDayOfTheMonth()) {
                if (lhs.getHours() > rhs.getHours()) return false;
                else if (lhs.getHours() == rhs.getHours()) {
                    if (lhs.getMinutes() > rhs.getMinutes()) return fals;
                    else if (lhs.getMinutes() > rhs.getMinutes()) {
                        if (lhs.getSeconds() > rhs.getSeconds()) return false;
                    }
                }
            }
        }
    }
    return true;
}

我觉得它可能更简单,但我不知道如何。

0 个答案:

没有答案