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

网站栏目设计内容深圳网页定做

网站栏目设计内容,深圳网页定做,怎么样做钓鱼网站,网站建设与管理培训活动总结这篇文章我们讲一下C当中的宏。其实接触过大型项目的朋友可能都被诡异的宏折磨过。 宏是在预处理当中#xff0c;通过文本替换的方式来实现一些操作#xff0c;这样可以不用反复的输入代码#xff0c;帮助我们实现自动化。至于预处理的过程#xff0c;其实就是文本编辑当中的宏。其实接触过大型项目的朋友可能都被诡异的宏折磨过。 宏是在预处理当中通过文本替换的方式来实现一些操作这样可以不用反复的输入代码帮助我们实现自动化。至于预处理的过程其实就是文本编辑这个在之前的文章中有提到过。 替换的具体内容可能是普通文本也可以是参数变量等各种东西可以说就没有什么是不能够被宏替换掉的我们可以拿来替换非常复杂的内容。但是需要注意的是我们不希望拿宏来替换太多与C特性有关的代码这样并不是一个好的做法因为会降低代码的可读性虽然这样做是没有任何问题的。 举个例子我们用宏替换到我们常用的cin.get()语句 #includeiostream #includestring #define WAIT std::cin.get()int main() {std::cout Hello World! std::endl;WAIT; } 这样写当然是可以的是能够编译通过的但是这种写法是很傻的。因为cin.get()是非常常用的语句但是使用一个WAIT来替换它反而会降低代码的可读性让其他人看得一头雾水。 当然分号也可以是宏的一部分如果想的话也可以把分号写在宏里面那么就不用在代码里面再写分号了。 接下来我们看看如何在宏当中定义函数。 #includeiostream #includestring #define LOG(x) std::cout x std::endl;int main() {LOG(Hello World!)std::cin.get(); } 我们运行代码就会发现我们正常的完成了打印所以和实际写cout效果是一样的。 那么我们可以如何用宏帮助我们一个有趣的实例就是在我们的日志类当中我们希望在debug状态下打印出我们需要的信息但是在release版本当中不希望那么多东西都被打印到控制台上那么如何能够区分debug还是release在不同模式下函数应该是什么样子的这些我们就都可以用到宏来进行控制。 首先我们需要打开属性然后找到预处理界面然后分别为debug和release两个配置添加不同的宏如图所示 我们在debug和release模式下分别定义PR_DEBUG和PR_RELEASE两个宏这样我们就有了区分debug和release两个模式的工具。然后我们就可以通过宏来控制我们是否需要打印 #ifdef PR_DEBUG #define LOG(x) //这里填写我们需要的函数定义 #else #define LOG(x) #endif 如上述代码所示我们可以在debug模式下让LOG函数真的为我们输出一些东西但是在release模式下LOG就不代表任何代码了也就是说切换到release时LOG处都会变成空白宏自动的为我们删除了在release时需要被删除的代码这一点是非常nice的。 但是这样使用也是有一点问题的因为有的时候我们不想使用某个宏了那我们还得去删除就很麻烦最好的情况是给宏赋一个值然后我们不想使用宏的时候可以直接修改这个宏的值那么这个宏就被禁用了。首先我们在设置当中为我们的宏赋值 如图所示我们把PR_DEBUG赋值为1然后我们在代码当中可以直接这样写 #if PR_DEBUG 1 来判断是不是在debug模式下。如果我们想要禁用这个宏只需要 #define PR_DEBUG 0 就可以禁用这个宏了。 除此之外我们还可以用宏来禁用一整块代码如下所示 #if 0LOG(Hello World!) #endif 这样中间部分代码就都无效了。 如果我们想要代替多行代码可以用反斜线 \ 来替代反斜线就是分行的转义。 宏最常用的地方就是用来帮助我们debug还可以自动查错也可以帮助跟踪内存的使用情况。但是如果滥用宏确实会导致代码可读性大幅降低所以我们还是要慎重使用宏。以上就是本文的全部内容了希望大家喜欢
http://www.dnsts.com.cn/news/148848.html

相关文章:

  • 站点和网页的关系北恩uc3客户管理软件
  • 徐州网站建设多少钱湘潭手机网站
  • 公司免费网站注册房屋中介做网站的
  • 山东网站建设好不好安庆市网站建设
  • 北京手机网站制作公司清徐网站建设
  • 南通模板网建站导航网址网站怎么做
  • 定制版网站建设费用盐城网站建设代理商
  • 鞍山百度网站怎么制作福田网络
  • 广州网站制作长沙wordpress页面结构
  • 携程网站联盟宝塔默认安装wordpress
  • 西安高端品牌网站汝州市城乡建设局网站
  • 河南网站备案所需资料网页设计dw成品
  • 网站排名提升软件用织梦做外文网站
  • 做游戏交易网站wordpress 上传apk
  • 网站做很久了百度没收录ai可以做网站吗
  • 酒店品牌设计网站建设网站域名备案需要资料
  • 禅城区企业网站建设我帮你建站
  • 住宅项目建设背景西宁网站建设优化案例
  • 做网站一直不知道做什么网站做电影网站怎么选服务器
  • 恩施北京网站建设做网站需要什么编程语言
  • 做的不错的网站商丘网络有限公司
  • 浏阳网站开发公司crm管理软件
  • 厦门 公司网站建设微软的网页制作软件
  • 建立网站主机做景观要用的植物网站
  • 余姚网站开发网站如何做直播
  • 网站开发网站页面许昌做网站九零后
  • 长沙市模板网站邮箱登录
  • 攻击网站常用方法wordpress网站 app
  • 网站配色 绿色中山谷歌推广
  • 怎么在网站挂黑链接怎么发布网站