assert 与if
2024-10-07 09:49:13
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不行。
最新文章
- http常见状态码解析
- Java递归搜索指定文件夹下的匹配文件
- VS2008 调试记录
- windows条件下,Ping加上时间戳,并保存到文件,适用于测试网络
- 测试MD5的加密功能
- 应届GIS硕士求职经验总结
- 2013集训.DAY1.A
- (五)solr7.1.0之solrJ的使用
- IntelliJ Idea + Maven + Junit
- python集合的分类与操作
- vs2015创建类时增加默认注释
- Codechef CNTL Counting is life 生成函数
- linux 执行脚本1.补充命令 2.后台执行
- Sequelize 学习笔记(11)- Migrations 迁移
- 【 PostgreSQL】查询某模式下所有表的分布键信息
- PHP下利用PHPMailer
- Firefox-css-hack
- To Chromium之版本管理
- Oracle 11g 安装环境配置脚本
- 带WHERE子句的UPDATE语句
热门文章
- window下lamp环境搭建
- linux用户管理(useradd、userdel、usermod、groupadd、groupdel、chage、passwd、chpasswd)
- Codeforces Round #426 (Div. 2) - B
- STL的容器哈希表
- C#基础知识之System.AppDomain类
- 快照方式备份MySQL数据库及举例
- 子类重用父类的功能super
- Arduino-原理图标识
- Python重写父类方法__len__
- Task5.PyTorch实现L1,L2正则化以及Dropout