使用对象类实例和(void*)

use of object class instances and (void*)

本文关键字:void 实例 对象      更新时间:2023-10-16

有人能指出对象类的使用吗?我的意思是,使用对象类的实例,它是否为所有子类分配了所有的内存?即int float等

我想知道一些我们必须需要Object的情况,以及一些我们需要void指针的情况,感谢

void*是指向内存中未设置为任何特定类型的空间的指针,或者更确切地说,指针可以指向任何"类型"的内存,但它指向的内存仍然是intmyObject

虽然这样做会很"奇怪",但你可能有这样的功能

void zeroMem(void* memBlock, int size){}

这个函数可以用来将内存块的所有位清零。

我知道openGL也有采用void*的函数,通常用于缓冲区,这意味着你可以创建一个缓冲区,例如char*int*,只要你告诉它这个缓冲区有多少字节,openGL就可以了。

当然,这两个例子都是C而不是C++,尤其是openGL引用。

至于你所说的"对象类实例"是什么意思,我不知道。也许你指的是一个类的实例,你会调用它并反对它?在这种情况下,听起来你需要学习OOP 的基本原理

编辑

"对象类实例"

好吧,你说的是基类。

如果你看看Java,所有的对象都是从一个类Object派生的(不是使用大写),这个基类是隐式继承的(即你不必做任何事情),即使是由从其他东西继承的类继承的,从而打破了C#不支持多重继承的概念。

现在,问题是关于C++的,所以我简单地说,你(或多或少)永远不想为所有对象都有一个基类Object类,没有必要。也就是说,你可能有一个基类,你的很多类都是从这个基类派生出来的。

这是OOP背后的一个基本概念,所以如果你需要解释,你真的应该坐下来读一本好书。