C或C++判断指针是否指向同一块内存-输出结果:

/// <summary>
/// 判断pt是否指向区块内存[pbegin,pend)。
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="pbegin"></param>
/// <param name="pend"></param>
/// <param name="pt"></param>
/// <returns></returns>
/// 创建时间:2024-10-04    最后一次修改时间:2024-10-04
template<class T>
bool isPointsToTheSameMemoryArea(const T* pbegin, const T* pend, const T* pt)
{
	return pt >= pbegin && pt < pend;
}

int main() {
  
	_string s = "567891234";

	const wchar_t* p1 = s.c_str() + 5;
	const wchar_t* p2 = _t("1234");

	_cout << _t("p1=") << p1 << _t("\n");
	_cout << _t("p2=") << p2 << _t("\n");

	if (isPointsToTheSameMemoryArea(s.begin(), s.end(), p1)) {

		_cout << _t("p1与字符串s指向同一块内存区域!\n");
	}
	else
	{
		_cout << _t("p1与字符串s指向不同内存区域!\n");
	}

	if (isPointsToTheSameMemoryArea(s.begin(), s.end(), p2)) {

		_cout << _t("p2与字符串s指向同一块内存区域!\n");
	}
	else
	{
		_cout << _t("p2与字符串s指向不同内存区域!\n");
	}
	 

}
上一篇:不同版本的 Selenium 和 WebDriver 的 API 兼容性问题


下一篇:HTB:Unified[WriteUP]