この構造体を取る:
struct Foo
{
float m_foo;
// no other member
};
// A Foo object.
Foo f;
どちらがより高価ですか?
float result = std::sin(f.m_foo);
また
float result = std::sin(*(reinterpret_cast<float*>(&f)));
// f can be interpreted like float in this case
2番目のケースの方が速いと思いますが、コンパイラがどのように処理するかわからないため、わかりません。あなたはそれについて私に何を言うことができますか?