- 847 名前:デフォルトの名無しさん mailto:sage [2010/05/09(日) 18:45:47 ]
- 会社のC++書式の再現なんですが
「一時オブジェクトの寿命は実装依存で、hoge(&Vec3D(1,2,3))の引数の一時オブジェクトはhoge関数から戻る前に破棄されることもあるので、 このような書き方はしてはいけない。」 とあったのですが、本当でしょうか? なんか怪しげな気がするのです。 class Vec3D{ public: Vec3D( float x_, float y_, float z_ ) : x(x_), y(y_), z(z_) {} float x,y,z; }; void hoge(Vec3D* v) { printf("%f,%f,%f\n", v->x, v->y, v->z); } void Test() { //駄目 hoge(&Vec3D(1,2,3)); //OK Vec3D v(1,2,3); hoge(&v); }
|

|