声明/名称介绍的基础

时间:2013-02-02 17:30:21

标签: c++

好的,我最近读过一篇文章,上面写着:

在c ++中声明的每个名称都有与之关联的类型。例如

int a; //type of a int 
void foo(); //type is void(*)()
class bar; //what is type of bar here then ?

1 个答案:

答案 0 :(得分:0)

它没有传统意义上的“类型”,而是一种类型。虽然在某些语言(如Ruby或Objective-C)中,类是对象(类Class的对象),但在C ++中,类除了类型之外没有任何类型。它们确实有关联的type_info,但这不是类本身,而只是必须通过typeid访问的一些信息。

bar不属于bar类型。 bar甚至不是一个对象。 Bar是一种类型,如前所述,在C ++中,没有类型。