strlen的实现用不用加断言(assert)?

http://en.cppreference.com/w/cpp/error/assert

自己写strlen实现会加assert判断空指针,Debug模式下可以方便调试(assert(condition)),不满足断言的条件,会调用abort中断程序,Release模式下编译器会取消assert作用,所以库写好发布后,assert没用了。

如果不加assert,输入空指针,strlen也会崩溃;前者是程序自己检查NULL指针,后者是用户自己检查。

用if也可以检查空指针,但不方便提示异常。if可以让程序选择执行路径,而assert不行。

最新文章

  1. http常见状态码解析
  2. Java递归搜索指定文件夹下的匹配文件
  3. VS2008 调试记录
  4. windows条件下,Ping加上时间戳,并保存到文件,适用于测试网络
  5. 测试MD5的加密功能
  6. 应届GIS硕士求职经验总结
  7. 2013集训.DAY1.A
  8. (五)solr7.1.0之solrJ的使用
  9. IntelliJ Idea + Maven + Junit
  10. python集合的分类与操作
  11. vs2015创建类时增加默认注释
  12. Codechef CNTL Counting is life 生成函数
  13. linux 执行脚本1.补充命令 2.后台执行
  14. Sequelize 学习笔记(11)- Migrations 迁移
  15. 【 PostgreSQL】查询某模式下所有表的分布键信息
  16. PHP下利用PHPMailer
  17. Firefox-css-hack
  18. To Chromium之版本管理
  19. Oracle 11g 安装环境配置脚本
  20. 带WHERE子句的UPDATE语句

热门文章

  1. window下lamp环境搭建
  2. linux用户管理(useradd、userdel、usermod、groupadd、groupdel、chage、passwd、chpasswd)
  3. Codeforces Round #426 (Div. 2) - B
  4. STL的容器哈希表
  5. C#基础知识之System.AppDomain类
  6. 快照方式备份MySQL数据库及举例
  7. 子类重用父类的功能super
  8. Arduino-原理图标识
  9. Python重写父类方法__len__
  10. Task5.PyTorch实现L1,L2正则化以及Dropout