私はC++プロジェクトにパーティクルシステムエンジンを持っています。パーティクル自体は、機能のない変数の構造体です。現在、各パーティクル(パーティクル)は、変数に直接アクセスすることによって、その親クラス(パーティクルシステム)から更新されます。例えば。ゲッターとセッター。パフォーマンスのオーバーヘッドはありますか?
particle.setX(particle.getX()+particle.getVX());
私の質問は次のとおりです:ただまっすぐにデータアップとは対照的にゲッターとセッターを呼び出してから、任意のパフォーマンスのオーバーヘッドがあります
particle.x += particle.vx;
は、私はこのようなゲッターとセッターを使用して議論し、しかしですアクセス?結局のところ
取得および設定すると、少し複雑なタスクであることが判明した場合、私が通じ更新する多くの粒子を多く持っている...
setters/getterは、主にコードの可読性/保守性を目的としています。関数を呼び出すと、まっすぐなデータアクセスよりもパフォーマンスのオーバーヘッドが発生します。 –
ゲッターとセッターは、データをカプセル化してアクセスするためのものです。パフォーマンス上のオーバーヘッドはなく、単純なgetterとsetterはコンパイラによってインライン展開されます。 –
@habeebperwad:読みやすさをどのように向上させるのか想像もできませんが、実際には実装を変更することが容易になります。 –