3
A
回答
11
它没有类型。它是标准未指定的实现细节; 它不是语言的一部分。
请注意,C++并不是说必须有虚拟表或虚拟“指针”(尽管这是C++工具链中最常见的RTTI实现)。
此外,你的分析是错误的。例如在GCC中,通常每个对象都会获得一个vptr,该vptr指向该对象类型的相关虚拟表:object has pointer,type has table。
2
即使大多数实现使用它,该标准也不能保证虚拟表指针的存在。
因此,它没有类型。它只是一个指针数组。
+1
它也不是一个指针数组。它在C++结构方面没有任何表示。 –
1
它具有编译器相关类型,只要编译器理解它就可以是任何东西。由于该语言没有提及任何关于vptr
的内容,程序员都没有在代码中使用它,所以编译器可以自由创建任何类型的来实现运行时多态性。 类型不必与C++语言一致。
相关问题
- 1. 什么类型的数据库是data.frame?
- 2. 这是什么类型的数据库?
- 3. clock()的数据类型是什么?
- 4. 这是什么类型的GPS数据?
- 5. 什么是cin的数据类型
- 6. WINOLEAPI的C#数据类型是什么?
- 7. unix_timestamp(MySQL)的数据类型是什么?
- 8. ActionScript *数据类型 - 它是什么?
- 9. 什么是无符号数据类型?
- 10. 什么是'长?'数据类型?
- 11. 什么数据类型是$('#checkbox')。attr('checked')
- 12. 什么是抽象数据类型(ADT)?
- 13. 这应该是什么数据类型?
- 14. Bool * X,这是什么数据类型?
- 15. 输出是什么数据类型?
- 16. 什么是REBOL结构!数据类型?
- 17. 这是什么Ruby数据类型?
- 18. python这是什么数据类型?
- 19. 什么是MLSLABEL Oracle数据类型?
- 20. 什么是列数据类型Sharepoint列数据类型中的业务数据?
- 21. 什么是类型和什么是类型构造函数scala
- 22. 这是什么类型的数据类型?
- 23. iOSK:ABRecordRef是什么类型的数据类型?
- 24. 什么是oracle数据类型raw的java类型等价物?
- 25. 什么是相应的C++数据类型为SQL数字(18,0)数据类型?
- 26. 告诉什么类型的数据是什么,Python
- 27. 成功数据的类型是什么:函数(数据)?
- 28. 什么是抽象数据类型?它是Java中的类吗?
- 29. ruby中类的名称的数据类型(类)是什么?
- 30. 什么是C++中的复杂数据类型和虚数据类型?
噢,你的答案是没有乐趣:( – Blindy
@Blindy:。至少它不是完全误导 –
喜 按照我的理解虚函数表的一流水平,形成 正如你说的,“在海湾合作委员会,通常每个对象得到一个指向该对象类型的相关虚表的vptr:object has pointer,type has table“。 如果每个对象都有自己的vptr并且都指向同一个vtable,那么需要创建不同的vptr指针。我们可以创建一个静态类级别vptr –