C是否对POD typedef进行初值化?
发布时间:2020-12-16 03:12:03 所属栏目:百科 来源:网络整理
导读:C对简单的 POD typedef进行初值化? 假设 typedef T* Ptr; 不 Ptr() 做值初始化并保证等于(T *)0? 例如 Ptr p = Ptr();return Ptr(); 解决方法 它是.对于类型T,T()值初始化类型T的“对象”,并产生一个右值表达式. int a = int();assert(a == 0); 荚级相同:
C对简单的
POD typedef进行初值化?
假设 typedef T* Ptr; 不 Ptr() 做值初始化并保证等于(T *)0? 例如 Ptr p = Ptr(); return Ptr(); 解决方法
它是.对于类型T,T()值初始化类型T的“对象”,并产生一个右值表达式.
int a = int(); assert(a == 0); 荚级相同: struct A { int a; }; assert(A().a == 0); 对于没有用户声明的构造函数的一些非POD类也是如此: struct A { ~A() { } int a; }; assert(A().a == 0); 因为你不能做A a()(而是创建一个函数声明),boost有一个类 int a{}; 在标准的干燥的话中,这听起来像
由于typedef名称是一个类型名称,它是一个简单类型说明符本身,这样做很好. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |