&gt;If you need to grow or shrink it use a vector.<p>Thank you for the advise but what if I want to shrink one array that takes 200 MB of memory by 10MB and give it to another array that takes 50 MB of memory on a system with only 256 MB of memory?<p>&gt; If you need different types of memory or aligned memory, make an allocator and use that.<p>std::array does not have allocators.<p>&gt;I&#x27;m not exactly sure why you think these things aren&#x27;t achievable in C++<p>I have no idea why you think so. I only used C++, assembly and various shader languages in every game I worked on. I did some C in drivers but I don&#x27;t think it&#x27;s a good language for games.