ベクターがあり、それをファイルに書き込み、読み取りたいが、sizeof
演算子を使用してベクターの論理サイズを決定することはできません。
それで私は何をしますか?
C++ std :: vectorには、サイズを返すsize()
メソッドがあります。
編集:私が今それを得ると、あなたは与えられたベクトルが使用するメモリを計算する必要があります。ベクトルは動的メモリを使用し、その要素を含む動的配列のポインタのみを格納するため、sizeofは使用できません。したがって、私の最善の提案は、各要素が必要とするメモリに要素の数を掛けることです。オブジェクトが動的に割り当てられたオブジェクトへのポインターを保存している場合、これは再び機能しません。サイズを個別に計算する必要があります。
私が知っているc ++のメモリをバイト単位のベクトルサイズで計算する簡単な方法はありません。