プールを使用してすべての情報を格納する必要があるため、他の回答の推奨事項に従えない場合は、整数情報を文字配列に格納する最も安全な方法を使用するmemcpy
ことです (私は C++11 を使用しています)。構文):
#include <cstring>
#include <iostream>
int main()
{
using size_type = std::size_t;
static constexpr size_type size = 1000;
char pool[size];
/* Store 12 as integer information at the beginning
of the pool: */
size_type next_free = 12;
std::memcpy(pool,&next_free,sizeof(size_type));
/* Retrieve it: */
size_type retrieved = 0;
std::memcpy(&retrieved,pool,sizeof(size_type));
/* This will output 12: */
std::cout << retrieved << std::endl;
return 0;
}
もちろん、これsizeof(size_type)
は、プールの最初のエントリを実際の文字の格納に使用してはならないことを意味します。実際に使用できる最低のエントリは ですpool[sizeof(size_type)]
。