好的,我最近读过一篇文章,上面写着:
在c ++中声明的每个名称都有与之关联的类型。例如
int a; //type of a int
void foo(); //type is void(*)()
class bar; //what is type of bar here then ?
答案 0 :(得分:0)
它没有传统意义上的“类型”,而是一种类型。虽然在某些语言(如Ruby或Objective-C)中,类是对象(类Class
的对象),但在C ++中,类除了类型之外没有任何类型。它们确实有关联的type_info
,但这不是类本身,而只是必须通过typeid
访问的一些信息。
bar
不属于bar
类型。 bar
甚至不是一个对象。 Bar是一种类型,如前所述,在C ++中,没有类型。