【发布时间】:2014-09-18 05:11:50
【问题描述】:
假设我有一个大量存在的对象,它存储的关于它自己的数据很少,但需要几个更大的函数来作用于它自己。
class Foo
{
public:
bool is_dead();
private:
float x, y, z;
bool dead;
void check_self();
void update_self();
void question_self();
};
我可以从编译器中得到什么行为 - 每个新的 Foo 对象会导致其方法的重复被复制到内存中吗?
如果是,管理特定类的(类私有) 函数同时避免重复有哪些好的选择?
如果没有,你能详细说明一下吗?
【问题讨论】:
-
不,它们不是重复的。为什么你会有其他想法?会有什么好处? @Arusekk 使用 static 或 const 为什么?
-
我不得不说我对我的问题收到的反对票(并且可能会自动删除)感到失望。我用谷歌搜索但没有找到任何关于“vtables”的信息。爱好者不会通过阅读关于语言背后基本概念的厚书来接触 C++。他们从简单的例子开始,随着时间的推移消除他们的误解。吸取教训,我以后会坚持使用用户论坛。
-
说真的,伙计们,你们为什么对这样的事情投反对票?仅仅因为作者可能是通过这些信息来的吗?他有一点,不是每个人都有兴趣阅读语言规范。毕竟,它没有那么有趣。 SO变成了多么不友好的地方。
-
虽然我没有投反对票,但也许其中一些是因为之前已经提出和回答过这类问题。例如,当谷歌搜索问题标题的第一句话时,第一个结果是stackoverflow.com/questions/648647/…