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

好的网站建设商家沈阳关键词优化价格

好的网站建设商家,沈阳关键词优化价格,南昌网站建设培训班,wordpress手机版 mp3博主介绍:程序喵大人 35- 资深C/C/Rust/Android/iOS客户端开发10年大厂工作经验嵌入式/人工智能/自动驾驶/音视频/游戏开发入门级选手《C20高级编程》《C23高级编程》等多本书籍著译者更多原创精品文章,首发gzh,见文末👇&#x1f…

博主介绍:程序喵大人

  • 35- 资深C/C++/Rust/Android/iOS客户端开发
  • 10年大厂工作经验
  • 嵌入式/人工智能/自动驾驶/音视频/游戏开发入门级选手
  • 《C++20高级编程》《C++23高级编程》等多本书籍著译者
  • 更多原创精品文章,首发gzh,见文末
  • 👇👇记得订阅专栏,以防走丢👇👇
    😉C++基础系列专栏
    😃C语言基础系列专栏
    🤣C++大佬养成攻略专栏
    🤓C++训练营
    👉🏻个人网站

C/C++里,assert是一种比较常用的调试策略。

定义

assert字面意思是断言,用于判断是否满足某个条件,如果不满足某个条件,则程序会直接崩溃,控制台上会显示崩溃所在的文件名和行号。

看下它的使用:

#include <assert.h>
#include <stdio.h>void func(int a) {assert(a > 0);printf("%d", a);
}int main() { func(-1); }

示例中我用assert来表示函数func的输入一定要>0

我如果输入了-1,程序运行时会在assertcrash,同时提供了报错的详细:

a.out: test.cc:5: void func(int): Assertion `a > 0' failed.Aborted

注意事项:

我们一定在assert处只做判断,不要添加任何功能逻辑,因为assert只在debug模式下有作用release模式下,assert这行代码会自动跳过去,会自动被忽略。

assert(++i > 0);

这种改变了i状态的assert代码千万不要写,因为会导致debug模式和release模式下的行为不一致。

什么时候使用assert

期望某块逻辑一定要满足某个前置条件,如果不满足就要crash,这方便于我们在debug模式下调试程序,如果crash,方便我们进一步修复问题,使其满足assert条件。

比如我们要输出某个字符串,做一次判空其实也是耗费性能的,我们期望传进来的串一定非空,如果是空,那就直接crash

void func(const char* s) {printf("hello %s \n", s);
}

static_assert

上面的assert运行时断言,C++11之后还有个编译时断言:static_assert,用于在编译时判断某些条件,如果断言失败,则会编译失败,用法和assert类似。

#include <type_traits>
constexpr int k = 120;
int main() { static_assert(k > 200, "k < 200"); }

输出:

test.cc:8:14: error: static_assert failed due to requirement 'k > 200' "k < 200"int main() { static_assert(k > 200, "k < 200"); }
^             ~~~~~~~1 error generated

static_assert后面可以跟着一个字符串,在断言失败时,会在控制台输出此字符串,方便提示我们相关信息。

练习

  • static_assert还有很多作用,比如可以判断某个类是否有默认构造函数,某个函数是否是noexcept等,可以自己尝试一下。
http://www.dtcms.com/wzjs/49583.html

相关文章:

  • 成人大专自我鉴定300字系统优化软件排行榜
  • 用dw做的网站容易变形活动推广宣传方案
  • 住房和城乡建设网站青岛seo关键字排名
  • qq小程序开放平台优化关键词推广
  • 建设大学智慧党建网站关于手机的软文营销
  • 海口网站制作站长工具查询系统
  • 网站做产品的审核工作内容360站长平台
  • 全国房产查询系统西安seo阳建
  • 上海工商网上办事平台网站怎么优化关键词
  • 中国在菲律宾做网站百度pc端首页
  • 自己 做 网站天津seo排名公司
  • 亳州做商标网站的公司快速开发网站的应用程序
  • 营销推广型网站公司uc浏览网页版进入
  • 高端网站的建设站长之家seo查询
  • 做网站用服务器网络推广员每天的工作是什么
  • wordpress怎么让文章只显示摘要seo优化排名经验
  • 东莞国药官网网上商城郑州官网网站推广优化
  • 公司微网站建设方案seo怎么弄
  • 免费在线做网站seo流量增加软件
  • 茂县建设局网站网络营销推广有效方式
  • 怎样提高网站的打开速度网店如何引流与推广
  • 企业信用修复单页网站怎么优化
  • 南昌网站空间教育机构排名
  • 网站开发与app差距关键词查询工具
  • 中邮保险网站关键词有几种类型
  • 网站是专门对生活中的一些所谓常识做辟谣的深圳网络品牌推广公司
  • 安徽省建设工程信网站百度人工服务热线电话
  • 如何做视频播放网站北京网络推广公司排行
  • 自己家里做网站网速慢网址怎么推广
  • 企业网站类型主要包括互动营销公司