1人でゲームが作れるように修行します。2 (487レス)
前次1-
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん

93
(1): 2010/09/18(土)01:45 ID:ZJvrb5gA(1/3) AAS
>>92
>ベクトル関係もクラス化する最終手段に挑戦してみようと思います。
>>87は自分で書いててよく分かってないみたいだけど、classとstructは根本的には同じもの

struct Vector3{
Vector3(float x_, float y_, float z_): x(x_), y(y_), z(z_){}
float x,y,z;
};
省6
94
(1): 2010/09/18(土)01:56 ID:ZJvrb5gA(2/3) AAS
>>92
>Vector3 a1={848,544,0};
>fp.xy(←これは昨日書いていたオブジェクト.構造体変数名の事)=a1;
ちょっとこのレスで、代入のコストが気になったんで検証してみた

struct A{
A(){}
A(int x_, int y_, int z_): x(x_), y(y_), z(z_){}
省21
95
(1): 2010/09/18(土)02:09 ID:ZJvrb5gA(3/3) AAS
最初Bの方が遅かったのは、operator=のオーバーロード
つまり関数オーバーヘッド分の差が出たのだろう

変数を増やすとAが遅くなるのは、ほぼ間違いなくコピーコンストラクタが発生してるからだろう
ここら辺は言語仕様のレベルでBのような代入にしてくれてもいいような気がするなー

ま、結論としてはoperator=は弄らない方が速い
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.022s