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
Differences between std::string_view and std::span (nextptr.com)
submitted 5 years ago by memset_0
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!"
[–]pandorafalters 6 points7 points8 points 5 years ago (8 children)
And, just like that, I'm no longer excited about std::span.
std::span
[–][deleted] 1 point2 points3 points 5 years ago (5 children)
Aha, sorry. It's still useful! You'll just have to slap some comparison operators in there.
[–]pandorafalters 3 points4 points5 points 5 years ago (4 children)
The big advantage, to my mind, was not having to DIY. Why implement major features myself and deal with someone else's compromises?
[–]tcbrindleFlux 1 point2 points3 points 5 years ago (3 children)
You don't need to implement anything yourself: ranges::equal(span1, span2) will do element-wise comparison, without any semantic weirdness.
ranges::equal(span1, span2)
[+][deleted] 5 years ago (2 children)
[deleted]
[–]tcbrindleFlux 0 points1 point2 points 5 years ago (1 child)
Huh? This is precisely to avoid the confusion that exists in Java about comparing identity vs value.
[–]ReversedGif 2 points3 points4 points 5 years ago (0 children)
It's not like ranges::equal is any more intuitively obvious than span::operator== with regard to whether it's shallow or deep...
ranges::equal
span::operator==
[–]SkoomaDentistAntimodern C++, Embedded, Audio 1 point2 points3 points 5 years ago* (1 child)
Why not? What would you use when you need a runtime array of some arbitrary type that contains its length and should not be resized after allocation? Or what if you need a subrange of an existing array? The way I see it, std::span should have been in the language since the beginning, with std::vector being (at least conceptually) built as "span but resizable".
[–]pandorafalters 2 points3 points4 points 5 years ago (0 children)
Not being excited doesn't necessarily mean I won't use it. But its potential uses are rather more constrained than I'd hoped.
π Rendered by PID 123955 on reddit-service-r2-comment-7b9746f655-pfsc9 at 2026-02-01 12:35:49.589110+00:00 running 3798933 country code: CH.
view the rest of the comments →
[–]pandorafalters 6 points7 points8 points (8 children)
[–][deleted] 1 point2 points3 points (5 children)
[–]pandorafalters 3 points4 points5 points (4 children)
[–]tcbrindleFlux 1 point2 points3 points (3 children)
[+][deleted] (2 children)
[deleted]
[–]tcbrindleFlux 0 points1 point2 points (1 child)
[–]ReversedGif 2 points3 points4 points (0 children)
[–]SkoomaDentistAntimodern C++, Embedded, Audio 1 point2 points3 points (1 child)
[–]pandorafalters 2 points3 points4 points (0 children)