&gt; What is the alignment of your std::array? What is the memory type (e.g. can the GPU read from it at all? Can it write? What are cache policies?). The alternative though is not a C array, it&#x27;s an explicit memory mapping.<p>Guaranteed to be contiguous, and semantically equivalent to a C array in all cases.<p>If you don&#x27;t trust your vendor&#x27;s STL implementation take a look at the intrusive containers in EA&#x27;s STL implementation. It&#x27;s very very good for games. It&#x27;s also safe, which is a good thing that doesn&#x27;t obscure bugs it all.<p><a href="https:&#x2F;&#x2F;github.com&#x2F;electronicarts&#x2F;EASTL" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;electronicarts&#x2F;EASTL</a><p>&gt; e.g. can the GPU read from it at all? Can it write? What are cache policies?<p>Fun fact, you can write your own template container with specific features with no additional overhead from a C &quot;array&quot; that&#x27;s also memory safe.<p>&gt; if it starts deallocating at runtime it will take longer to fail).<p>It can&#x27;t magically deallocate at runtime. It&#x27;s deterministic. I don&#x27;t think you understand you give up zero control. It&#x27;s just a cleaner system with less room for human error.<p>&gt; obscuring bugs<p>What&#x27;s obscure about knowing exactly where are all memory management occurs without exception? C-style malloc and free scattered all over the project is way more prone to hiding bugs.