
C++编程规范101规则、准则与最佳实践 一
组织与策略 不拘泥小节 大括号位置 空格和制表符 匈牙利记法 单入口,单出口 高警告级别 第三方头文件 未使用的函数参数 定义了从未使用过的变量 变量使用前可能未经初始化 遗漏了return语句 有符号数、无符号数不匹配 自动构建系统 增量构建 完全构建 版本控制系统 版本空值系...
组织与策略 不拘泥小节 大括号位置 空格和制表符 匈牙利记法 单入口,单出口 高警告级别 第三方头文件 未使用的函数参数 定义了从未使用过的变量 变量使用前可能未经初始化 遗漏了return语句 有符号数、无符号数不匹配 自动构建系统 增量构建 完全构建 版本控制系统 版本空值系...
消息通讯 真窗口 ::SendMessage SOUI控件 在SOUI中可以使用SWindow::SSendMessage来向一个目标窗口发送一个消息来通讯,但不支持PostMessage,目标窗口在SOUI窗口的消息映射表中响应发送过来的消息。 SOUI事件机制 每一个事件对应...
概述 json是JS对象表示语法的子集。 Json语法 规则 大括号保存对象 中括号保存数组 值 数字 整数 浮点数 字符串 双引号括起来 逻辑值 true false 数组 对象 null rapidjson 概述 把include文件夹拷贝到项目。 在工程中引入。 关于doc...
空类大小 空类对象在内存中是有起始地址的,也就是说最少能存一个字节。所以一个空类的大小是1。 this指针调整 如果派生类继承自多个基类,那么派生类对象的开始地址和第一个基类子对象的开始地址是相同的。 调用派生类的成员函数的时候,会根据这个函数属于哪个基类,对this指针进行调整...
static_cast 用来完成编译器认可的隐式类型转换。 任何具有明确定义的类型转换,只要不包含底层const,都可以使用static_cast。 范围: 基本数据类型之间的转换。 派生体系中向上转型:将派生类指针或引用转化为基类指针或引用。 任意类型指针与void*之间的转换...
auto用于初始化列表 上述代码,在C++17之前,对于m的类型的推断,编译器给出的结果将不会是我们的预期的。 它会推断为std::initializer_list<int>,而不是int。 同样,下面的代码也是会被推断为std::initializer_list&l...
ATL线程模型和套间 概述 在 COM 开发中,线程模式(Threading Model) 和 套间(Apartment) 是确保组件在多线程环境下安全运行的核心机制 ATL(Active Template Library)通过模板类(如 CComObjectRootEx)和线程...
概述 Breakpad 客户端库负责监控应用程序是否发生崩溃(异常)、在崩溃发生时通过生成转储来处理这些崩溃 并提供将转储上传到崩溃报告服务器的方法 客户端 概述 Breakpad 客户端主要负责在应用程序崩溃时捕获崩溃信息,并生成 minidump 文件 该 minidump ...
导出SOUI对象到Lua 为了在SOUI中使用lua,需要使用lua内核实现一个SOUI::IScriptModuler接口。 导出SOUI对象通常应该在IScriptModule的实现类的构造中执行 在lua中使用 事件分发处理 在MFC中,一个类要处理消息,这个类通常派生自C...
等待事件或其他条件 如果一个线程正等待着第二个线程完成一项任务,它有几个选择。 可以一直检测共享数据(由互斥量保护)中的标识,并且让第二个线程在完成任务时设置该标识。 浪费资源 使用std::this_thread::sleep_for(),让等待的线程在检查之间休眠一会儿 得到...
搜索当前标签