メモリ アロケータを作成していますが、メモリのチャンク内に整数を格納する方法が必要です。この整数はブロックのサイズを表すため、先頭へのポインターを指定して末尾に移動できます。
これが私のテスト例です:
// 編集: testInt int* testInt = new int の宣言されたスペース。
head_ptr = (char*) malloc(4*1024*1024); // Allocate 4MB
// EDIT: Should have used std::fill and std::copy
memset(head_ptr,23,sizeof(int)); // Set Address head_ptr = 12345
memcpy(testInt,head_ptr,sizeof(int)); // Set testInt = head_ptr
printf("testInt = %i",testInt);
これにより、最後から 2 番目の行でセグメンテーション違反がスローされます。
私がやろうとしていることは理にかなっていますか?
もしそうなら、正しいアプローチは何ですか?
お世話になりました皆様、本当にありがとうございました!! 問題が解決しました :-)