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

西宁网站建设制作公司建网站软件有哪些

西宁网站建设制作公司,建网站软件有哪些,深圳网站建设前十名,用自己的电脑做网站1. assert 宏 运行时断言 所在的头文件 #include assert.h 或 #include cassert 宏 assert 的定义依赖于标准库不定义的另一个宏 NDEBUG 若 NDEBUG 在包含了 assert.h 的源代码中的点定义为宏名#xff0c;则 assert 不做任何事。 若不定义 NDEBUG…1. assert 宏 运行时断言 所在的头文件 #include assert.h 或 #include cassert 宏 assert 的定义依赖于标准库不定义的另一个宏 NDEBUG 若 NDEBUG 在包含了 assert.h 的源代码中的点定义为宏名则 assert 不做任何事。 若不定义 NDEBUG 则 assert 将其参数必须拥有标量类型与零比较相等。若相等则 assert 在标准错误输出上输出实现指定的诊断信息并调用 abort() 。诊断信息要求包含表达式的文本还有预定义变量 func 与 (C99 起)预定义宏 FILE、 LINE 的值 assert(N0 这里的N必须要大于0);2. 静态断言 static_assert static_assert 是 C11 引入的一个编译时断言机制它允许程序员在编译阶段检查某些条件是否成立。如果条件不成立编译器会发出错误信息从而阻止代码的编译。这在模板编程和类型安全方面尤其有用可以帮助开发者在编译时捕捉错误 static_assert 用好了可以帮助我们在编译的时候就能发现很多问题下面给出几个常用的场景 模板编程 #include iostream #include type_traitstemplate typename T void process(T value) {static_assert(std::is_integralT::value, Template parameter T must be an integral type!);std::cout Processing integral value: value std::endl; }int main() {process(42); // 正常工作// process(3.14); // 编译错误Template parameter T must be an integral type!return 0; } 常量条件检查 #include iostreamtemplate typename T, std::size_t N void checkArraySize(T()[N]) {static_assert(N 10, Array size must be greater than 10!);std::cout Array size is: N std::endl; }int main() {int arr[11];checkArraySize(arr); // 正常工作// int emptyArr[0]; // 编译错误Array size must be greater than 10!// checkArraySize(emptyArr);return 0; } 类型安全 #include iostream #include type_traitsint main() {std::string s1;std::string s2;const char* s3;static_assert(std::is_samedecltype(s1), decltype(s2)::value, must the same type); // 编译通过static_assert(std::is_samedecltype(s1), decltype(s3)::value, must the same type); // 编译不通过return 0; } 3. 优点 assert 是一个强大的工具用于在开发和调试阶段捕捉逻辑错误;在生产环境中通过定义 NDEBUG 可以禁用所有的断言从而提高性能。static_assert 提供了在编译时检查条件的能力从而避免了运行时错误;当条件不满足时编译器提供的错误信息可以帮助开发者快速定位问题. 提高代码安全性. 4. 注意事项 assert 使用时应注意避免副作用不要把有效的逻辑传入, 并将其与适当的错误处理机制结合使用。static_assert 只能用于编译时可求值的表达式因此不能用于运行时条件。如果 static_assert 的条件为假编译器将产生错误并停止编译错误信息将包含你提供的字符串。 5. 总结 除了经典的 assert 在 DEBUG 下运行时检查, 强大的C11 引入 static_assert 重要特性用于在编译时进行条件检查。它可以帮助开发者确保类型和常量的正确性提高代码的安全性和可维护性。通过合理使用 static_assert可以在编译阶段捕获潜在的错误从而减少运行时错误的可能性。 对应的视频链接 https://www.bilibili.com/video/BV1Rh6bY1EmK/?p2
http://www.zqtcl.cn/news/421704/

相关文章:

  • 做网站公司需要什么条件不锈钢公司网站源码 网站建设 产品3级分类asp源码
  • 经营网站挣钱网络运维工程师证书怎么考
  • 厦门网站建设ui株洲企业网站制作
  • 创建个网站需要多少钱张家界seo优化方案
  • 深圳营销型网站建设公司哪家好熊岳网站怎么做
  • 邢台企业网站建设好么找公司做网站要注意什么问题
  • 做博客网站要怎么配置的服烟台app开发公司
  • 从化网站建设方案怎么注册公司名字
  • 网站建设需要哪些书籍免费做游戏网站
  • 杭州 网站定制做旅游网站宣传
  • 泉州市做网站优化建设地情网站的作用
  • 筑巢网络官方网站打开搜索引擎
  • 赣州做网站公司哪家好网站先做前端还是后台
  • wordpress关闭网站吗用织梦做的学校网站
  • 响应式网站建设平台东莞网站建设aj
  • 代码做网站的软件市场营销策划书
  • 东莞网站建设 手机壳文登建设局网站
  • 网站建设和后台空间管理关系企业网络需求分析
  • 做小说网站做国外域名还是国内的好温州市网站建设
  • wordpress识别手机跳转网站3d视频动画制作
  • 展示型企业网站设计方案邯郸市口碑网络技术有限公司
  • 网站配色案例泰州seo平台
  • wordpress标题title优化代码seo技术顾问
  • 怎么做直播网站的超管延安免费做网站
  • 织梦做手机网站hao123从网上开始
  • 网站制作公司十强重庆网站建设mlfart
  • 南京调查公司网站杭州一起做网站
  • 不关站备案wordpress内网网站模板
  • 做学术用的网站如果在各大网站做免费的网络推广
  • 设计素材网站线上网站数据报表