C++: Difference between revisions

Line 278: Line 278:


[https://shendrick.net/Coding%20Tips/2015/03/15/cpparrayvsvector.html array vs vector]<br>
[https://shendrick.net/Coding%20Tips/2015/03/15/cpparrayvsvector.html array vs vector]<br>
If you need a static sized array, you can use <code>std::array</code> in the <code>array</code> header.<br>
If you need a statically allocated array, you can use <code>std::array</code> in the <code>array</code> header.<br>
This wrapper around C-style arrays gives us size information and allows the array to be passed around by reference while keeping the array on the stack unlike <code>std::vector</code>.<br>
This wrapper around C-style arrays gives us size information and allows the array to be passed around by reference while keeping the array on the stack unlike <code>std::vector</code>.<br>
If you want to allocate a static array on the heap, you can do so as follows:
If you want to manually allocate an array on the heap, you can do so as follows:
<syntaxhighlight lang="C++">
<syntaxhighlight lang="C++">
auto my_arr = std::make_shared<std::array<char,64>>();
auto my_arr = std::make_shared<std::array<char,64>>();
</syntaxhighlight>
</syntaxhighlight>


====std::vector====
====std::vector====