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++的(静态)断言用法总结的主要内容,如果未能解决你的问题,请参考以下文章

C/C++:static用法总结

static的用法

手把手写C++服务器(13):C++11新特性之静态断言static_assert

C++入门C/C++的内存管理介绍

C++C++中的string类的用法总结

C++入门static关键字