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

廊坊网站建设哪家权威成都seo优化公司

廊坊网站建设哪家权威,成都seo优化公司,服装在线设计平台,javacms开源免费博主介绍:程序喵大人 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/277898.html

相关文章:

  • 做中英文网站多少钱深圳货拉拉
  • 建大型网站需要多少钱网络营销的重要性
  • 网站建设服务公司哪家好成人短期培训能学什么
  • 网上那些彩票网站可以自己做吗百度手机端排名如何优化
  • 先备案 做网站qq群引流推广平台免费
  • wordpress文章前阅读济南seo外包服务
  • 岭南地区网站建设高端网站优化公司
  • 手机网站模版php源码网站seo外链
  • 山河集团建设有限公司网站拼多多关键词排名查询
  • 渭南市住房和城乡建设局网站怎么在百度上推广自己
  • 建设网站免费模板合肥网站优化技术
  • 商城网站怎么做推广方案seo服务顾问
  • 吉林省吉林市国内搜索引擎优化的公司
  • 中国移动app免费下载seo1短视频网页入口营销
  • 设计一个网页具体步骤站长工具seo下载
  • 广州哪家公司做网站合肥网站排名
  • 花乡做网站公司nba季后赛最新排名
  • 可靠的网站建设流程网络广告名词解释
  • 石嘴山网站seo百度关键词屏蔽
  • 怎么自己做视频网站seo的优点和缺点
  • 网站右下角视频代码发稿吧
  • 河池做网站培训机构
  • 做网站要学一些什么泉州百度推广咨询
  • 深圳市宝安网站建设小红书怎么推广
  • 朝阳网站制作公司友情链接网站大全
  • 网站制作合作协议本溪seo优化
  • 微网站开发需要几个人外包客服平台
  • 最好科技广州网站建设网站关键词推广
  • 微网站怎么做的好名字如何提高网站seo排名
  • web浏览器在哪里打开seo黑帽技术有哪些