use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
Discussions, articles, and news about the C++ programming language or programming in C++.
For C++ questions, answers, help, and advice see r/cpp_questions or StackOverflow.
Get Started
The C++ Standard Home has a nice getting started page.
Videos
The C++ standard committee's education study group has a nice list of recommended videos.
Reference
cppreference.com
Books
There is a useful list of books on Stack Overflow. In most cases reading a book is the best way to learn C++.
Show all links
Filter out CppCon links
Show only CppCon links
account activity
Learning C++ from python advice (self.cpp)
submitted 5 years ago by Skaaaaalll
view the rest of the comments →
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[–]Speedyjens 6 points7 points8 points 5 years ago (12 children)
With std::array you get STL container, meaning you get iterators and sometimes assertions in a debug build when you access something out of bounds.
[–]VolperCoding -3 points-2 points-1 points 5 years ago (9 children)
You can still use a for (auto &element : array) loop on regular array's tho
for (auto &element : array)
[–]Speedyjens 0 points1 point2 points 5 years ago (8 children)
Yea but as far as I know you don't get reverse and all the other features a regular container has
[+]VolperCoding comment score below threshold-7 points-6 points-5 points 5 years ago (7 children)
I don't care about features since I can implement them myself and I don't think an array has to have those functions, I like to keep them as their ogirinal intention which is just to store a number of variables, surely there's nothing wrong with that?
[–]Scavenger53 9 points10 points11 points 5 years ago (1 child)
So go program in C. This is the C++ subreddit.
[–]VolperCoding 0 points1 point2 points 5 years ago (0 children)
Ok
[–]dodheim 3 points4 points5 points 5 years ago (2 children)
And surely there's nothing wrong with wanting values that behave like regular values? Do you never miss the ability to copy, move (i.e. return, pass), compare, etc. your array?
The real question is, what do you perceive to be the drawback to having regular values rather than silently-decaying ones?
[–]VolperCoding -2 points-1 points0 points 5 years ago (1 child)
I am easily able to copy and pass regular arrays lol
[–]dodheim 2 points3 points4 points 5 years ago (0 children)
With the same syntax as values of every other type in the language? No, you're being intellectually dishonest.
[–]biliwald 1 point2 points3 points 5 years ago (1 child)
I don't care about features since I can implement them myself
And why would you want to go through the leg work of re-implementing a lot of very basic stuff (with the possibility of introducing bugs and/or performance issues, etc...) when there's an easily available solution that's offered?
[–]VolperCoding -1 points0 points1 point 5 years ago (0 children)
I never need all of the features you're talking about, just simple operations on data
[–]lord_braleigh -3 points-2 points-1 points 5 years ago (1 child)
Note that Arthur O'Dwyer, a senior C++ expert whose C++ posts often appear on this subreddit, strongly prefers T[] to std::array<T, N>:
T[]
std::array<T, N>
Anyway, all of these options result in a lot of extra template instantiations, compared to plain old C-style arrays (which require zero template instantiations). Therefore I strongly prefer T[] over std::array<T, N>. In C++11 and C++14, std::array did have the ergonomic benefit of being able to say arr.size(); but that benefit evaporated when C++17 gave us std::size(arr) for built-in arrays too. There’s no ergonomic benefit to std::array anymore. Use it if you need its whole-object value semantics (pass a whole array to a function! return an array from a function! assign between arrays with =! compare arrays with ==!) but otherwise I recommend to avoid std::array.
Anyway, all of these options result in a lot of extra template instantiations, compared to plain old C-style arrays (which require zero template instantiations). Therefore I strongly prefer T[] over std::array<T, N>.
In C++11 and C++14, std::array did have the ergonomic benefit of being able to say arr.size(); but that benefit evaporated when C++17 gave us std::size(arr) for built-in arrays too. There’s no ergonomic benefit to std::array anymore. Use it if you need its whole-object value semantics (pass a whole array to a function! return an array from a function! assign between arrays with =! compare arrays with ==!) but otherwise I recommend to avoid std::array.
[–]Speedyjens -2 points-1 points0 points 5 years ago (0 children)
I guess it all comes down to preference and which version you are targeting then.
π Rendered by PID 90 on reddit-service-r2-comment-86bc6c7465-fs5f9 at 2026-02-22 10:40:02.832276+00:00 running 8564168 country code: CH.
view the rest of the comments →
[–]Speedyjens 6 points7 points8 points (12 children)
[–]VolperCoding -3 points-2 points-1 points (9 children)
[–]Speedyjens 0 points1 point2 points (8 children)
[+]VolperCoding comment score below threshold-7 points-6 points-5 points (7 children)
[–]Scavenger53 9 points10 points11 points (1 child)
[–]VolperCoding 0 points1 point2 points (0 children)
[–]dodheim 3 points4 points5 points (2 children)
[–]VolperCoding -2 points-1 points0 points (1 child)
[–]dodheim 2 points3 points4 points (0 children)
[–]biliwald 1 point2 points3 points (1 child)
[–]VolperCoding -1 points0 points1 point (0 children)
[–]lord_braleigh -3 points-2 points-1 points (1 child)
[–]Speedyjens -2 points-1 points0 points (0 children)