【初心者歓迎】C/C++室 Ver.72【環境依存OK】
■ このスレッドは過去ログ倉庫に格納されています
0847デフォルトの名無しさん
2010/05/09(日) 18:45:47「一時オブジェクトの寿命は実装依存で、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);
}
■ このスレッドは過去ログ倉庫に格納されています