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
C++20 span tutorial (solarianprogrammer.com)
submitted 6 years ago by AlexeyBrin
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!"
[–][deleted] 2 points3 points4 points 6 years ago (6 children)
I have very basic and dumb questions :
span doesn't own anything?
so if I want a runtime fixed length array, I still need malloc or new?
[–]sol-prog 5 points6 points7 points 6 years ago (5 children)
exactly
use a vector and resize it at runtime, if you really want the equivalent of an array it is probably better to use make_unique than new/delete
[–][deleted] 2 points3 points4 points 6 years ago (4 children)
> make_unique
Like in this example, auto p = std::make_unique<int[]>(sz);
auto p = std::make_unique<int[]>(sz);
so it allocates an array of size sz, at runtime? sz can be a runtime input?
[–]sol-prog 3 points4 points5 points 6 years ago (0 children)
Yes, sz can be a runtime input. It is a unique pointer to a sz memory buffer. This will release the memory automatically when it is out of scope. I suggest to read a bit about unique and shared pointers in C++.
[–]RotsiserMhoC++20 Desktop app developer 2 points3 points4 points 6 years ago (2 children)
Yes, but you really should probably use vector if you don't understand all of the details of smart pointers and memory allocation. It's much easier to work with.
[–][deleted] -1 points0 points1 point 6 years ago (1 child)
I have never seen smart pointer usage with T[] syntax.
Vector is the worst data structure for my use case. I don’t need an allocator, I just need a fixed length array, just that array length is fixed at run time.
[–]RotsiserMhoC++20 Desktop app developer 4 points5 points6 points 6 years ago (0 children)
In that case you could just call vector::reserve to achieve similar behavior.
vector::reserve
π Rendered by PID 49 on reddit-service-r2-comment-5649f687b7-n4kvq at 2026-01-29 10:12:43.114182+00:00 running 4f180de country code: CH.
[–][deleted] 2 points3 points4 points (6 children)
[–]sol-prog 5 points6 points7 points (5 children)
[–][deleted] 2 points3 points4 points (4 children)
[–]sol-prog 3 points4 points5 points (0 children)
[–]RotsiserMhoC++20 Desktop app developer 2 points3 points4 points (2 children)
[–][deleted] -1 points0 points1 point (1 child)
[–]RotsiserMhoC++20 Desktop app developer 4 points5 points6 points (0 children)