函数是运行时执行的代码块,可返回结果;宏是预处理时展开的常量或代码片段,不可返回结果。函数易读、可重用、代码可读性高,但效率低;宏编译开销小、性能优,但代码可读性差、难以调试。

函数:代码块,执行特定任务,返回结果。
宏:常量或其他代码片段的代号,在预处理阶段被展开。
| 特征 | 函数 | 宏 |
|---|---|---|
| 定义方式 | type function_name(params) |
#define MACRO_NAME expression |
| 执行 | 运行时 | 预处理时 |
| 作用域 | 函数内部 | 宏所在文件 |
| 返回值 | 可以返回 | 无 |
| 参数 | 可以有 | 无 |
| 类型检查 | 有 | 无 |
| 效率 | 低于宏 | 高于函数 |
函数优势:
立即学习“C++免费学习笔记(深入)”;
函数劣势:
宏优势:
宏劣势:
以下是一个比较函数和宏的代码示例:
// 函数
int sum(int a, int b) {
return a + b;
}
// 宏
#define SUM(a, b) (a + b)
// 测试
int main() {
int x = 10;
int y = 20;
int func_result = sum(x, y); // 函数调用
int macro_result = SUM(x, y); // 宏展开
std::cout << "Function result: " << func_result << std::endl;
std::cout << "Macro result: " << macro_result << std::endl;
return 0;
}输出:
Function result: 30 Macro result: 30
函数和宏都是实现代码重用的有用工具。函数更适合需要返回值、类型检查和代码可读性高的场景。宏更适合需要极高性能和编译效率的场景。
以上就是C++ 函数与宏的区别和优缺点对比的详细内容,更多请关注php中文网其它相关文章!
c++怎么学习?c++怎么入门?c++在哪学?c++怎么学才快?不用担心,这里为大家提供了c++速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号