谁会在掏宝网上做网站,淘客返利网站建设,工程公司网站建设,天津建设工程招标网断言就是将一个返回值总是需要为真的判别式放在语句中#xff0c;来排除在设计的逻辑上不应该出现的情况。C11标准中引入了静态断言#xff1a;static_assert
在C标准中#xff0c;cassert或assert.h为我们提供了assert宏#xff0c;但是这个宏只有在运行时才进行…断言就是将一个返回值总是需要为真的判别式放在语句中来排除在设计的逻辑上不应该出现的情况。C11标准中引入了静态断言static_assert
在C标准中cassert或assert.h为我们提供了assert宏但是这个宏只有在运行时才进行断言这有很多的限制因为有时候程序的某些路径我们可能执行不到所以最好能够在编译的时候就产生断言。
C11标准中就引入了静态断言来解决这个问题。
静态断言static_assert使用起来非常简单它接受两个参数 1、断言表达式就是一个需要为正的表达式。 2、警告信息用来在产生断言的时候提示信息。 such as
#includecstring
using namespace std;template typename T,typename U int bit_copy(T a,U b){static_assert(sizeof(a)sizeof(b),参数的长度不一样可能出现越界);memcpy(a,b,sizeof(b));
}
int main(){int a;long b0x1234567;bit_copy(a,b);
}