版本兼容问题——C++ 字符串库(std::basic_string::stoi)

软件开发过程中经常会存在版本更迭问题,对于如何做好版本之间的兼容性,相信也是八仙过海,各有神通。

那么,当我们确定了一个版本,怎么比较版本之间的差异呢?

且看如下代码:

int CompareVersion(const std::string& strCurVersion, const std::string& strHisVersion)
{
	std::vector vHisVersion = SplitVersion(strHisVersion);
	std::vector 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 &

你可能感兴趣的:(C++《i+1》,c++,开发语言)