Methods 是C+中的类方法+;实例化?

Methods 是C+中的类方法+;实例化?,methods,instantiation,Methods,Instantiation,我想使一些方法成为静态的,因为我不想要它们的数千个副本,但是当我在实例化对象上执行sizeof()时,类中的额外方法似乎不会在大小上产生差异,只有变量会产生差异。那么,非静态方法是否每次都实例化?如果不是,为什么要使用static?因为我认为静态的东西不会被实例化,而非静态的东西会被实例化。可能只是指向该方法的指针。如果类中有10个方法,那么方法指针将占用80个字节。我只是在想,当您对类执行sizeof()时,成员变量将始终占用字节,但方法永远不会占用字节。然后我意识到,如果你实例化一个类的10

我想使一些方法成为静态的,因为我不想要它们的数千个副本,但是当我在实例化对象上执行sizeof()时,类中的额外方法似乎不会在大小上产生差异,只有变量会产生差异。那么,非静态方法是否每次都实例化?如果不是,为什么要使用static?因为我认为静态的东西不会被实例化,而非静态的东西会被实例化。

可能只是指向该方法的指针。如果类中有10个方法,那么方法指针将占用80个字节。我只是在想,当您对类执行sizeof()时,成员变量将始终占用字节,但方法永远不会占用字节。然后我意识到,如果你实例化一个类的100个对象,它们每个都需要有自己的成员变量集,因为它们会改变,但是函数的指令永远不会改变,不管是哪个对象。如果每个对象中都有指向每个函数的指针,那么它肯定不会显示在sizeof()中。