当前位置: 首页 > news >正文

编程规范(c++)

1.传入参数&(引用) 传出参数*(指针)

2.使用unordered_map记录旧数据进行对比

3.在头文件中使用相对路径即可,因为在编译时(CMake)会指定头文件路径

4.     include:头文件

        src:源文件

        utils:通用函数

5.在include中编写类

6.编写类:构造函数(explicit 显示声明)

        析构函数(virtual )

声明函数时需要override,参数列表(默认值), 构造列表

定义函数时只需要参数列表, 构造列表

7.非静态成员函数的地址需要通过类名来限定

8.返回全局值可用static声明变量再返回,如果返回一个类且不使用引用需调用拷贝构造函数

在 C++ 中,如果一个类没有显式定义拷贝构造函数(NodeManager(const NodeManager&)),并且该类包含不可拷贝的成员变量,那么编译器会自动删除默认的拷贝构造函数。

在你的 NodeManager 类中,std::mutex 是不可拷贝的(std::mutex 的拷贝构造函数被标记为 = delete),因此编译器会隐式删除 NodeManager 的默认拷贝构造函数。

NodeManager &getGlobalNodeManager() {
  static NodeManager manager;
  return manager;
}
class NodeManager {
public:
  void registerNode(const DataNode &node);
  void updateHeartbeat(int node_id);
  std::vector<DataNode> getOnlineNodes();

private:
  std::mutex mutex_;
  std::unordered_map<int, DataNode> nodes_;
};

 

 

相关文章:

  • ecovadis评分要求,如何提高ecovadis分数,未来展望
  • GitHub 趋势日报 (2025年04月10日)
  • STM32嵌入式开发从入门到实战:全面指南与项目实践
  • 《Vue Router实战教程》19.滚动行为
  • 原生多模态大模型时代:统一感知的智能跃迁
  • Vue 3 国际化实战:支持 Element Plus 组件和语言持久化
  • Git开发
  • 【Java集合】TreeSet、TreeMap源码解读
  • BERT - 直接调用transformers.BertModel, BertTokenizerAPI不进行任何微调
  • C++动态分配内存知识点!
  • vue2使用ezuikit-js播放萤石视频
  • 手撕红黑树
  • Python Lambda表达式详解
  • Vue 3 响应式更新问题解析
  • chrome extension开发框架WXT之WXT Storage api解析
  • 数列分块入门4
  • 信奥赛之c++课后练习题及解析(关系运算符+选择结构)
  • JAVA中正则表达式的入门与使用
  • Matlab 分数阶PID控制永磁同步电机
  • Codeforces Round 1016 (Div. 3) C ~ G 题解
  • wordpress棋牌插件/株洲seo优化首选
  • 购物网站css模板/免费域名解析网站
  • 广州天河区网站建设/潜江seo
  • 做网站的几个必要步骤/成都网站优化及推广
  • 建设网页建设/黑帽seo培训大神
  • b2b网站优化怎么做/c盘优化大师