私の質問はthisに似ていますが、私は少し違うものを求めています。std :: vector要素は物理メモリ内で連続していますか?
最初のstd::vector
要素のアドレスをC
型の配列として使用できることは明らかです。つまり、仮想メモリでは、std::vector
の要素は連続しています。ただし、物理メモリが断片化されている場合は、実際にstd::vector
が物理メモリの多くの部分に分割されている可能性があります。
私の質問はstd::vector
要素が物理メモリ(仮想メモリと同様)に連続していますか?
@hsouza:それは彼がリンクしているものです。彼は、OS自体が連続性を「偽造」することができるかどうかを尋ねているようだが、「本当の」メモリ分割がある。率直に私はそれを取得しません。 – GManNickG
@hsouza私はこの問題へのリンクを追加しました。 – ST3
mallocはmmapを使用しているので、mmapが連続した物理メモリを与えることができるかどうかという疑問があります。あなたはこれを見たことがありますか:http://stackoverflow.com/questions/4401912/linux-contiguous-physical-memory-from-userspace – LarryPel