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

海外建站服务平台静安做网站的公司

海外建站服务平台,静安做网站的公司,500个短视频素材免费,专业广州做网站公司宏概述 在编程中,宏(Macro)是一种预处理器指令 宏可以让程序员在源代码中定义一段值或代码的别名,在编译程序之前,预处理器会查找这些宏,并将其替换为相应的值或代码 C 宏 在 C 中,宏可以通过…

宏概述

  1. 在编程中,宏(Macro)是一种预处理器指令

  2. 宏可以让程序员在源代码中定义一段值或代码的别名,在编译程序之前,预处理器会查找这些宏,并将其替换为相应的值或代码


C++ 宏

  1. 在 C++ 中,宏可以通过预处理器指令 #define 来定义

  2. 宏可以是简单的常量替换,也可以函数样式的宏(函数样式的宏并不是真正的函数)

  3. 宏通常全大写以区别于变量

  4. 可以使用反斜杠(\)实现多行宏


一、简单常量替换宏

#include <iostream>using namespace std;#define PI 3.14159int main() {cout << PI << endl;double radius = 5.0;double area = PI * radius * radius;cout << area << endl;return 0;
}
  • 输出结果
3.14159
78.5397

二、函数样式的宏

#include <iostream>using namespace std;// 使用反斜杠(\)实现多行宏
#define CALCULATE_MAXIMUM_1(firstNumber, secondNumber) \((firstNumber > secondNumber) ? firstNumber : secondNumber)#define CALCULATE_MAXIMUM_2(firstNumber, secondNumber) ((firstNumber > secondNumber) ? firstNumber : secondNumber)int main() {int a = 5, b = 10;int result1 = CALCULATE_MAXIMUM_1(a, b);int result2 = CALCULATE_MAXIMUM_2(a, b);cout << result1 << endl;cout << result2 << endl;return 0;
}
  • 输出结果
10
10

三、多行宏

#include <stdio.h>// 使用反斜杠(\)实现多行宏
#define PRINT_SUM(a, b) \printf("%d + %d = ", (a), (b)); \printf("%d\n", (a)+(b))int main() {PRINT_SUM(3, 5);return 0;
}

四、预定义宏

#include <stdio.h>int main() {printf("File: %s\n", __FILE__); // 当前文件名printf("Line: %d\n", __LINE__); // 当前行号printf("Date: %s\n", __DATE__); // 编译日期printf("Time: %s\n", __TIME__); // 编译时间return 0;
}

五、宏的特殊用法

1、字符串化宏
(1)基本介绍
#define STRINGIFY(x) #x
  • 将宏参数 x 直接转换为字符串常量(在编译期展开)
(2)演示
#include <iostream>using namespace std;#define STRINGIFY(x) #xint main() {// 将变量名转为字符串int someVar = 42;cout << "变量名: " << STRINGIFY(someVar) << endl;// 将表达式转为字符串cout << "表达式: " << STRINGIFY(3 + 5 * 2) << endl;return 0;
}
  • 输出结果
变量名: someVar
表达式: 3 + 5 * 2
2、连接宏
(1)基本介绍
#define STRINGIFY(x) #x
  • 将两个宏参数 a 和 b 直接拼接成一个符号(在编译期展开)
(2)演示
#include <iostream>using namespace std;#define CONCAT(a, b) a##bvoid print_hello()
{cout << "Hello World" << endl;
}int main() {// 拼接变量名int xy = 100;cout << CONCAT(x, y) << endl;// 拼接函数名CONCAT(print_, hello)();return 0;
}
  • 输出结果
100
Hello World
3、可变参数日志宏
(1)基本介绍
#define LOG(fmt, ...) printf("[LOG] " fmt "\n", ##__VA_ARGS__)
  • 可变参数日志输出,支持格式化字符串
(2)关键语法解析
  1. 字符串字面量的自动拼接
"[LOG] " fmt "\n"// 等价于
"[LOG] " "your_format" "\n"// 合并后
"[LOG] your_format\n"
  1. ##__VA_ARGS__ 是传入的可变参数,## 前缀用于当可变参数为空时,自动删除前面的逗号
LOG("No args");// 展开为
printf("[LOG] " "No args" "\n",);// 使用 ## 前缀后
printf("[LOG] " "No args" "\n");
(3)演示
#include <cstdio>#define LOG(fmt, ...) printf("[LOG] " fmt "\n", ##__VA_ARGS__)int main() {int error_code = 404;const char* path = "/index.html";LOG("程序启动");LOG("文件 %s 未找到,错误码: %d", path, error_code);return 0;
}
  • 输出结果
[LOG] 程序启动
[LOG] 文件 /index.html 未找到,错误码: 404

文章转载自:

http://fmyEmgZu.mwjwy.cn
http://aJ2sMGti.mwjwy.cn
http://EGcvpc0E.mwjwy.cn
http://w11zDukZ.mwjwy.cn
http://TK0csAH8.mwjwy.cn
http://qoDpJ5xT.mwjwy.cn
http://YPEYf3fv.mwjwy.cn
http://RG39ei0Y.mwjwy.cn
http://XmNmRjTw.mwjwy.cn
http://fVHbXbvz.mwjwy.cn
http://dd2Ov4Pr.mwjwy.cn
http://DYKxj9p5.mwjwy.cn
http://o2w6oOwk.mwjwy.cn
http://rL5ip0ce.mwjwy.cn
http://QiiuyBLz.mwjwy.cn
http://LZ3XYRmy.mwjwy.cn
http://RKABAb9p.mwjwy.cn
http://kFMQuvE9.mwjwy.cn
http://qQ2LYUSt.mwjwy.cn
http://JuHuLmqf.mwjwy.cn
http://HrZ1b7AQ.mwjwy.cn
http://EPXIVNCD.mwjwy.cn
http://a0LnHyoL.mwjwy.cn
http://WqL0FpL3.mwjwy.cn
http://z2GhlARP.mwjwy.cn
http://OwAj1w2v.mwjwy.cn
http://zM33CksV.mwjwy.cn
http://Ez0Fmc3C.mwjwy.cn
http://1SpDbXYn.mwjwy.cn
http://oorsuOdW.mwjwy.cn
http://www.dtcms.com/wzjs/670579.html

相关文章:

  • 网站建设相关网站文章网站后台
  • 做网站代理能赚钱吗网站开发技术是什么
  • 乐清网站制作公司哪家好怎么把电脑网站做服务器吗
  • 顶呱呱做网站济南市莱芜区网站
  • 电子商务网站建设基础步骤更改host文件把淘宝指向自己做的钓鱼网站
  • 网站开发pdfwordpress安装到的数据库名称
  • 蓝色机械企业网站模板网站建设费的摊销年限
  • 如何获取所有网站免费咨询服务
  • 9免费建网站社群营销策略有哪些
  • 汕头网站优化公司电脑怎么建网站
  • 技术网站品牌推广方案包括哪些
  • 哪里医院做无痛人流便宜 咨询网站在线做网站的电脑需要什么配置
  • 电子商务网站运营流程广州住建网站
  • 咸阳做网站开发公司网站管理系统哪个最好
  • 网站设计知识准备中文安卓开发工具
  • 怎么申请 免费网站空间旅游主题网站策划书
  • 百度网址大全网站大全从化区城郊街道网站麻二村生态建设
  • 网站后台维护一般要怎么做王也头像高清
  • 做网站网页的公司网站建设好还需要续费吗
  • 兰州网站制作公司在哪里国家住房和城乡建设部官网
  • 住房和城乡建设部网站科技项目wordpress附件投稿
  • 襄阳大摩网站建设wordpress整站迁移
  • 冷水江网页定制公司网站 seo
  • 岱山县网站建设wordpress系统教程 pdf
  • 浦东做网站的公司网络营销的理论
  • 简述一个商务网站建设的步骤化妆品行业网站建设
  • 品牌营销网站宁波妇科中医哪个好
  • 烟台网站建设地址高清的网站建设
  • 网站建设 美词原创中国工商网注册官网
  • 温州专业营销网站费用长沙网站seo多少钱