摘要: 二、静态断言与static_assert 通过上一篇,我们可以看到,断言assert宏只有在程序运行的时候才能起作用。而#error值在编译器预处理时才能起作用。 有时候,我们希望在编译时候能做一些断言。 看下面这个例子: 整个程序执行结果为 if判定中的结果为1 表明不会触发断言,说明定义的枚举没 阅读全文
posted @ 2018-02-04 21:48 林-兮 阅读(1109) 评论(0) 推荐(0)
摘要: 一、断言:运行时与预处理时 断言(assertion)是一种编程常用的手段。想必大家都见过 assert 吧。今天我们就来了解一下它。 通常情况下,断言就是将一个返回值总是需要为真的判别式放在语句中,用于排除在设计的逻辑上不应该产生的情况。 比如一个函数总需要输入在一定的范围内的参数,那么程序员就额 阅读全文
posted @ 2018-02-04 12:32 林-兮 阅读(1159) 评论(0) 推荐(0)
摘要: 前面一些篇目的内容作为一个在校生,很少用到,可能工作的人会见得多一点,但是第一次整体性的学习还是不希望有落下的东西,虽然不常用但至少要有个印象 那么就进入第三篇《宏 __cplusplus》 在C与C++混合编写的代码中,我们常常会在头文件里面看到如下的声明: 这些类型的头文件可以被#include 阅读全文
posted @ 2018-02-04 10:04 林-兮 阅读(632) 评论(0) 推荐(0)
摘要: 我们会在代码中发现一些整型的名字,比如UINT、__int16、u64、int64_t,等等。 这些类型有的源自于编译器的自行扩展,有的则是来自某些编程环境(比如工作在Linux内核代码中),不一而足。 而事实上,在C++11中一共只定义了以下5种标准的有符号整型: · signed char ·  阅读全文
posted @ 2018-02-04 09:22 林-兮 阅读(240) 评论(0) 推荐(0)