软件开发过程中经常会存在版本更迭问题,对于如何做好版本之间的兼容性,相信也是八仙过海,各有神通。
那么,当我们确定了一个版本,怎么比较版本之间的差异呢?
且看如下代码:
int CompareVersion(const std::string& strCurVersion, const std::string& strHisVersion)
{std::vector<int> vHisVersion = SplitVersion(strHisVersion);std::vector<int> vCurVersion = SplitVersion(strCurVersion);int nCompResult = 0;size_t versionsize = vCurVersion.size() < vHisVersion.size() ? vCurVersion.size() : vHisVersion.size(); for (size_t i = 0; i < versionsize; ++i){if (vCurVersion[i] == vHisVersion[i]){if (i == vCurVersion.size() - 1) {nResult = 0; //版本相同} else {continue;}}if (vCurVersion[i] > vHisVersion[i]) //当前版本>历史版本{nResult = 1;break;}if (vCurVersion[i] < vHisVersion[i]) //当前版本<历史版本{nResult &