Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
5a2c190c
D
Docs
项目概览
OpenHarmony
/
Docs
大约 1 年 前同步成功
通知
159
Star
292
Fork
28
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
Docs
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
未验证
提交
5a2c190c
编写于
6月 06, 2022
作者:
O
openharmony_ci
提交者:
Gitee
6月 06, 2022
浏览文件
操作
浏览文件
下载
差异文件
!4958 优化OpenHarmony-cpp-coding-style-guide.md
Merge pull request !4958 from Tianshi Liu/master
上级
7b36562c
b9249411
变更
1
显示空白变更内容
内联
并排
Showing
1 changed file
with
107 addition
and
107 deletion
+107
-107
zh-cn/contribute/OpenHarmony-cpp-coding-style-guide.md
zh-cn/contribute/OpenHarmony-cpp-coding-style-guide.md
+107
-107
未找到文件。
zh-cn/contribute/OpenHarmony-cpp-coding-style-guide.md
浏览文件 @
5a2c190c
...
@@ -516,14 +516,14 @@ int&p = i; // Bad
...
@@ -516,14 +516,14 @@ int&p = i; // Bad
在文件头保护宏、条件编译、日志记录等必要场景中可以使用宏。
在文件头保护宏、条件编译、日志记录等必要场景中可以使用宏。
### <a name="r3-13-3"></a>规则3.13.3 禁止使用宏来表示常量
### <a name="r3-13-3"></a>规则3.13.3 禁止使用宏来表示常量
宏是简单的文本替换,在预处理阶段完成,运行报错时直接报相应的值;跟踪调试时也是显示值,而不是宏名; 宏没有类型检查,不
宏
全; 宏没有作用域。
宏是简单的文本替换,在预处理阶段完成,运行报错时直接报相应的值;跟踪调试时也是显示值,而不是宏名; 宏没有类型检查,不
安
全; 宏没有作用域。
### <a name="r3-13-4"></a>规则3.13.4 禁止使用函数式宏
### <a name="r3-13-4"></a>规则3.13.4 禁止使用函数式宏
宏义函数式宏前,应考虑能否用函数替代。对于可替代场景,建议用函数替代宏。
宏义函数式宏前,应考虑能否用函数替代。对于可替代场景,建议用函数替代宏。
函数式宏的缺点如下:
函数式宏的缺点如下:
-
函数式宏缺乏类型检查,不如函数调用检查严格
-
函数式宏缺乏类型检查,不如函数调用检查严格
-
宏展开时宏参数不求值,可能会产生非预期结果
-
宏展开时宏参数不求值,可能会产生非预期结果
-
宏没有独
产的作用域
-
宏没有独
立的作用域
-
宏的技巧性太强,例如#的用法和无处不在的括号,影响可读性
-
宏的技巧性太强,例如#的用法和无处不在的括号,影响可读性
-
在特定场景中必须用编译器对宏的扩展语法,如GCC的statement expression,影响可移植性
-
在特定场景中必须用编译器对宏的扩展语法,如GCC的statement expression,影响可移植性
-
宏在预编译阶段展开后,在期后编译、链接和调试时都不可见;而且包含多行的宏会展开为一行。函数式宏难以调试、难以打断点,不利于定位问题
-
宏在预编译阶段展开后,在期后编译、链接和调试时都不可见;而且包含多行的宏会展开为一行。函数式宏难以调试、难以打断点,不利于定位问题
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录