✨博客主页 | ||
---|---|---|
何曾参静谧的博客(✅关注、👍点赞、⭐收藏、🎠转发) | ||
📚全部专栏(专栏会有变化,以最新发布为准) | ||
「Win」Windows程序设计 | 「IDE」集成开发环境 | 「定制」定制开发集合 |
「C/C++」C/C++程序设计 | 「DSA」数据结构与算法 | 「UG/NX」NX二次开发 |
「QT」QT5程序设计 | 「File」数据文件格式 | 「UG/NX」BlockUI集合 |
「Py」Python程序设计 | 「Math」探秘数学世界 | 「PK」Parasolid函数说明 |
「Web」前后端全栈开发 | 「En」英语从零到一 | 👍占位符 |
「AI」人工智能大模型 | 「书」书籍阅读笔记 |
目录
在 C++ 中,判断一个值是否发生变化通常涉及 记录旧值并与新值比较。具体实现方式取决于变量的类型(基本类型、对象、容器等)和使用场景(单线程、多线程、性能敏感等)。以下是几种常见方法:
1. 基本方法:记录旧值并比较
适用于所有类型(int
、float
、string
、自定义类等):
#include <iostream>
int main() {
int current_value = 10;
int previous_value = current_value;
// 模拟值变化(例如用户输入、计算等)
current_value = 20;
// 判断值是否变化
if (current_value != previous_value) {
std::cout << "值已变化!旧值:" << previous_value
<< ",新值:" << current_value << std::endl;
previous_value = current_value; // 更新旧值
} else {
std::cout << "值未变化。" << std::endl;
}
return 0;
}
适用场景:简单变量,单线程环境。
2. 封装成函数模板(通用方法)
如果需要多次检查,可以封装成模板函数:
#include <iostream>
template <typename T>
bool hasChanged(const T& old_val, const T