我在我的C++項目中有一個粒子系統引擎,粒子本身只是沒有函數的變量結構。目前,每個粒子(粒子)通過直接訪問其變量而從其父類(粒子系統)更新。例如。吸氣劑和固化劑。有沒有性能開銷?
particle.x += particle.vx;
不過,我使用getter和setter這樣的辯論:
particle.setX(particle.getX()+particle.getVX());
我的問題是:有來自調用getter和setter方法,而不是隻是直線上升的數據的性能開銷訪問?
畢竟,我有很多很多的粒子通過更新...
setter/getter主要用於代碼的可讀性/可維護性。調用一個函數會比直接訪問數據具有更高的性能開銷。 –
獲取者和設置者僅用於封裝數據以及訪問數據。沒有性能開銷,簡單的getter和setter被編譯器內聯。 –
@habeebperwad:我無法想象他們是如何提高可讀性的,但他們當然可以更容易地改變實現方式。 –