C++ 声明/名称生成的基础

C++ 声明/名称生成的基础,c++,C++,好的,我最近读了一篇文章,上面说: C++中声明的每个名称都有与之关联的类型。e、 g int a; //type of a int void foo(); //type is void(*)() class bar; //what is type of bar here then ? 它没有传统意义上的“类型”,而是一种类型。在一些语言中,如Ruby或Objtovi-C,类是对象(类的对象类< /C> >),在C++中,类除了类型之外没有任何类型。它们确实有一个相关的typeu info

好的,我最近读了一篇文章,上面说:

<> C++中声明的每个名称都有与之关联的类型。e、 g

int a; //type of a int 
void foo(); //type is void(*)()
class bar; //what is type of bar here then ?
它没有传统意义上的“类型”,而是一种类型。在一些语言中,如Ruby或Objtovi-C,类是对象(类的对象<代码>类< /C> >),在C++中,类除了类型之外没有任何类型。它们确实有一个相关的
typeu info
,但这不是类本身,而是一些必须通过
typeid
访问的信息


bar
不是
bar
类型<代码>条甚至不是一个对象。BAR是一种类型,正如前面所说的,C++没有类型。

似乎每个人都知道它,除了我)<代码>类Bar <代码>是一个声明的类型,最初认为Bar有类型条本身但很混乱。这就是为什么问题)foo也不是object,但它有类型,对吗?@HolyKiller:不完全是。foo的定义也不是一个对象,而是有一个类型。与函数不同,类在运行时并不以函数的方式存在。函数在运行时也不存在,它们只是指令序列。语言概念与我想说的运行时概念无关say@HolyKiller:问题是,类没有类型。时期