我想知道在C++中編寫「全能」類是否以及如何實際影響性能。C++:BIG類的性能影響(有很多代碼)
如果我有例如,一個類點,只有uint x; uint y;作爲數據,並且幾乎定義了數學可以做到的一切方法。其中一些方法可能很大。 (copy-)構造函數只不過是初始化兩個數據成員而已。
class Point
{
int mx; int my;
Point(int x, int y):mx(x),my(y){};
Point(const Point& other):mx(other.x),my(other.y){};
// .... HUGE number of methods....
};
現在。我加載一個大的圖像,並創建一個點爲每個像素,東西em到一個向量和使用他們。 (比方說,所有的方法都會被調用一次) 這只是一個愚蠢的例子!
沒有方法但是有很多實用功能,它會比同一個類慢嗎?我不是以任何方式談論虛擬功能!我的動機是:我經常發現自己寫了很好的和相對強大的類,但是當我必須像上面例子中那樣初始化/使用它們時,我會感到緊張。 我想我不應該。
什麼,我認爲我所知道的是:
- 方法在內存中只有一次存在。 (優化放在一邊)
- 分配 只發生數據 成員,並且它們是 複製的唯一東西。
所以它應該沒關係。我錯過了什麼嗎?
另請參閱:http:// stackoverflow。com/questions/648647/in-c-where-in-memory-are-class-functions-put – 2009-09-15 08:44:03