以下のようないくつかのコードに出会いました。
char *buffer = new char[sizeof(PoolThread) * numThreads];
m_threads = reinterpret_cast<PoolThread*>(buffer);
for (int i = 0; i < numThreads; i++)
{
new (buffer)PoolThread(*this);
buffer += sizeof(PoolThread);
}
new
here は、が指す空のメモリ空間を(クラスm_threads
の)実際のオブジェクトに初期化するためのものだと思いますPoolThread
私はグーグルで検索しましたが、次のnew
ような使用法に関する情報しか見つかりませんでした:
pointer = new somthing[number];
new
上のコード例での使用方法の詳細を願っています。そして、この使用法はC ++標準から来ていますか?