一种安全的static变量Get/Set方式

目的:避免static变量是个文件内可见的全局变量

Get:

std::atomic<bool>* GetGraphVerboseStepLr() {
    
    
  static std::atomic<bool> graph_verbose_step_lr{
    
    false};
  return &graph_verbose_step_lr;
}

Set:

void SetGraphVerboseStepLr(bool verbose) {
    
    
  auto* graph_verbose_step_lr = GetGraphVerboseStepLr();
  *graph_verbose_step_lr = verbose;
}

调用:

inline Maybe<void> SetVerbose(bool verbose) {
    
    
  SetGraphVerboseStepLr(verbose);
  return Maybe<void>::Ok();
}
inline bool GetVerbose() {
    
     return *GetGraphVerboseStepLr(); }

猜你喜欢

转载自blog.csdn.net/weixin_43838785/article/details/123473357
今日推荐