malloc()
現在、Visual C++ はで装飾されたランタイムに同梱されています__declspec( restrict )
。
MSDN によると、この装飾は、返されたポインターはmalloc()
他のポインターによってエイリアスできないことをコンパイラーに示しています。malloc()
わかりました、実際に異なるポインターを返すための 2 つの後続の呼び出し。でも電話したらどうなるの
void* memory1 = malloc( 10 );
free( memory1 );
void* memory2 = malloc( 10 );
//here memory1 may be equal to memory2
この場合、2 つのポインターはまったく同じ場所を指すことができます。これは、 の他のポインターの意味によってエイリアスを作成できないこととどのように相関し__declspec( restrict )
ますか?