Is there a difference between std::array like array<int, 2> MyArray = {1, 2}; and int arr[2] = {1, 2}; Time complexities? Different functionalities?
# | User | Rating |
---|---|---|
1 | tourist | 3993 |
2 | jiangly | 3743 |
3 | orzdevinwang | 3707 |
4 | Radewoosh | 3627 |
5 | jqdai0815 | 3620 |
6 | Benq | 3564 |
7 | Kevin114514 | 3443 |
8 | ksun48 | 3434 |
9 | Rewinding | 3397 |
10 | Um_nik | 3396 |
# | User | Contrib. |
---|---|---|
1 | cry | 167 |
2 | Um_nik | 163 |
3 | maomao90 | 162 |
3 | atcoder_official | 162 |
5 | adamant | 159 |
6 | -is-this-fft- | 158 |
7 | awoo | 156 |
8 | TheScrasse | 154 |
9 | Dominater069 | 153 |
10 | nor | 152 |
Is there a difference between std::array like array<int, 2> MyArray = {1, 2}; and int arr[2] = {1, 2}; Time complexities? Different functionalities?
Name |
---|
No, std::array is used in something like
In the other hand if you used
std::map<int, vector<int>>mp;
you have to assign the size before pushing valuesSo, how would one benefit over the other? Is
std::array<int, 2>
same thing asint arr[2];
?The benefit of
std::array
is that you can use it like a usual object. For example, you can assignstd::array
s to each other, you can pass them to functions without them decaying to pointers, and you can return them from functions. You can also put them in other standard library containers. You can't do any of these with a plain old array.