保存变量并且在程序结束时候还原的方法

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
实时计算 Flink 版,5000CU*H 3个月
实时数仓Hologres,5000CU*H 100GB 3个月
简介: 基本思路:在操作前构造一个类保存当前变量状态,在类析构中还原数值。

优势:即使程序异常退出,也会调用类的析构函数,变量状态依然可以还原。

保存类的源码

template
  class Save
      {
      protected:
          Type &_var;
          Type _save_value;
      public:
          Save(Type &elem):_var(elem),_save_value(elem){}
          ~Save(){_var = _save_value;}
     };

例子:

我们创建一个函数

void start(int &x)
    {
        Save<int> temp(x);
        x=3;
        std::cout<<"start x:"<std::endl;
    }


在主函数中调用

int main()
    {
        int x=2;
        start(x);
        std::cout<<"main x:"<std::end;
    }


运行

start x:3

main x:2

相关文章
|
PHP Windows 编解码
windows命令行方式下打印和设置PATH变量
点击开始菜单,运行=》cmd打印当前变量:echo %PATH%结果:C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;d:\PROGRA~1\ssh;D:\Program Files\tortoisesvn\bin;D:\Program...
2303 0
|
1月前
|
PyTorch TensorFlow API
大模型中 .safetensors 文件、.ckpt文件、.gguf和.pth以及.bin文件区别、加载和保存以及转换方式
本文讨论了大模型中不同文件格式如`.safetensors`、`.ckpt`、`.gguf`、`.pth`和`.bin`的区别、用途以及如何在TensorFlow、PyTorch和ONNX等框架之间进行加载、保存和转换。
187 2
|
6月前
|
存储 弹性计算 运维
错误次数保存到变量
【4月更文挑战第30天】
35 0
|
6月前
|
存储 弹性计算 运维
错误次数保存到变量2
【4月更文挑战第30天】
18 0
|
存储 数据库 Python
保存变量
在编程中,&quot;保存变量&quot;通常指将一个变量的值保存到文件或数据库中,以便在程序下次运行时能够再次使用该值。这个过程通常称为&quot;持久化&quot;,因为变量的值被保存到磁盘上,从而使得程序能够跨越多个会话。
72 1
|
安全 Java
JDK21更新内容:临时变量
JDK21更新内容:临时变量
|
存储 编译器 C语言
RAM明明断电会丢失数据,为什么初始化的全局变量存储在RAM?详细分析程序的存储
RAM明明断电会丢失数据,为什么初始化的全局变量存储在RAM?详细分析程序的存储
562 0
NSKeyedArchiver保存对象到本地
NSKeyedArchiver保存对象到本地
66 0
一个未知类型文件为何自动变为了压缩包
一个未知类型文件为何自动变为了压缩包
87 0
一个未知类型文件为何自动变为了压缩包
|
SQL 数据库连接 数据库
实时错误“91” 对象变量或with块变量未设置”
实时错误“91” 对象变量或with块变量未设置”
802 0
实时错误“91” 对象变量或with块变量未设置”