enumclass+assert+static_assert
Posted 阿龙亡命天涯
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了enumclass+assert+static_assert相关的知识,希望对你有一定的参考价值。
新规则:
enum class Season
Spring,Summer,Autumn,Winter
;
enum XX Season
Spring,Summer,Autumn,Winter
;
int main()
Season s = Season::Spring;
XX x = XX::Spring;
char:这么写 那么每个枚举值大小就是1
long long :这么写 那么每个枚举值大小就是8
assert:
#include <assert.h>
//字符拷贝函数
char* myStrcpy(char* dst,const char* src)
assert(dst);//如果dst为空,运行时报错,编译不会报错,主要用于调试阶段
char* d=dst;
while(*dst++ = *src++);
return d;
static_assert:(全局 作用域不受限制)
==4 那么说明编译器是32位的,如果上述编译器是32位的,那么编译期间会报错(!=4 是假的 所以报错)
位拷贝函数,要求是参数的位要一样,用static_assert来判断是否一样
int和float都是4字节,那么编译不会报错
而a c 分别是4和1 那么编译就会报错
以上是关于enumclass+assert+static_assert的主要内容,如果未能解决你的问题,请参考以下文章