C++入门C/C++的(静态)断言用法总结
Posted 正在起飞的蜗牛
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++入门C/C++的(静态)断言用法总结相关的知识,希望对你有一定的参考价值。
1、C语言的断言
1.1、函数原型
#include <assert.h>
void assert( int expression );
1.2、assert()函数用法
(1)assert函数会首先计算expression表达式的值,如果其值是假(即为0)则向stderr打印一条出错信息,然后内部会调用abort函数来终止程序;
(2)assert函数是在程序运行时来判断条件的真假;
(3)目前assert函数几乎被放弃使用,大家在工作中也尽量别用;原因:频繁调用assert函数会影响性能,增加额外的开销;就算程序出错,我们也不希望直接将程序终止掉,而是希望程序能打印报错信息,看是否能修复;
2、C++静态断言
2.1、static_assert静态断言的格式
static_assert(表达式, "提示字符串")
(1)如果表达式为假,则报错;
(2)和C语言assert函数的区别:assert断言是在程序运行时去判断,而static_assert静态断言是在编译时判断;
2.2、静态断言的示例代码
#include <iostream>
using namespace std;
int main(void)
//如果当前不是32位的系统就报错
static_assert((sizeof(void *) == 4), "not support 64 bit system");
return 0;
3、推荐
我会在C++专栏持续根据更新C++相关的知识点,这里也给大家推荐一款学习C++的神器,我也是在用这一款神器在学习C++。
链接:学习神器跳转
如果你是想入门C++这门语言或者是找C++岗位的工作,都推荐你试试这个网站,里面有针对C++知识点的选择题、编程题,更有C++岗位的面试题
以上是关于C++入门C/C++的(静态)断言用法总结的主要内容,如果未能解决你的问题,请参考以下文章