C++にはoperator&が定義されていた場合、アドレスを取得するためにstd::addressofがありますが、operator*が定義されていた場合にnullでないポインタをデリファレンスできる関数は存在するのでしょうか?(以下動機、読み飛ばしていただいてもかまいません)
なぜ探しているのかというと、例えば、
struct vec2 {
double x[2];
vec2 operator*(const vec2& Right) const noexcept
{
return { x[0] * Right.x[0],x[1] * Right.x[1] };
}
};
int WINAPI wWinMain(HINSTANCE hinst, HINSTANCE hinstPrev, LPWSTR lpszCmdLine, int nCmdShow)
{
vec2 x{ 3,3 }, y{ 2,1 };
int ix = 0;
auto z = x * y;
vec2* ptr = &z;
int* iptr = &ix;
// vec2 a = *z; ここ
int ia = *iptr;
return 0;
}
というようにコンパイルできないためです。error C2100: 間接指定演算子 (*) の使い方が正しくありません。
オフトピック
もう一つ、このサイト「だけ」にアクセスするのに異様に時間がかかる場合があるのはなぜなのでしょうか?
SEOはやっていただいてもかまわないのですが、正直異常に長いロード(Chromeがタイムアウトして、質問を書き直さなければならなくなるほどのもの)がいちいち入るのはストレスです。
もしこちらに原因があれば(Youtube等の動画サイトも同時にアクセスしてチェックしてますが,PCの限界を超える4K8Kでなければサクサク閲覧できるので,原因がわからず困ってます)対処しますので、よろしければこちらの質問にも答えていただけると幸いです。
SEOはやっていただいてもかまわないのですが、正直異常に長いロード(Chromeがタイムアウトして、質問を書き直さなければならなくなるほどのもの)がいちいち入るのはストレスです。
もしこちらに原因があれば(Youtube等の動画サイトも同時にアクセスしてチェックしてますが,PCの限界を超える4K8Kでなければサクサク閲覧できるので,原因がわからず困ってます)対処しますので、よろしければこちらの質問にも答えていただけると幸いです。