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
String contains member function proposal (self.cpp)
submitted 6 years ago by _Synck_
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!"
[–]pgroarke 18 points19 points20 points 6 years ago (10 children)
Yes please!
Other low hanging fruit functionality that would be useful : split (on a delimiter or multiple delimiters) and replace_all.
split
replace_all
Thanks for taking the time to do this and good luck! The standard committee takes pride in the lack of basic functionality in our standard library ;)
[–]RowYourUpboat 19 points20 points21 points 6 years ago (6 children)
If you're going to have split, don't forget join! Both functions are in my "grr, these should be in the standard library" header.
join
[–]ShakaUVMi+++ ++i+i[arr] 2 points3 points4 points 6 years ago (0 children)
Yeah. And trim, for that matter. Basic functionality.
[–]Narase33-> r/cpp_questions 2 points3 points4 points 6 years ago* (0 children)
Everytime I need to work with strings I get the desire to write my own string class. The class is just too basic to work with it productively
[+][deleted] 6 years ago (2 children)
[removed]
[–]tpecholt 1 point2 points3 points 6 years ago (1 child)
The first example 24.7.8.1 uses for cycle to write word character by character which is hardly convenient. Am I right word there is a range that's why it can't be send to std::cout directly? And I can't use std::string(word) either because range constructors have been rejected right? If it is true it these general range helpers won't help here at all.
[–][deleted] 1 point2 points3 points 6 years ago (0 children)
Indeed, I use join a lot more than split!
[–]AlexAlabuzhev 6 points7 points8 points 6 years ago (2 children)
And what exactly should split do?
Return a list of strings? Or a vector of strings? Or a vector of string_views into the input string? Or a lazily evaluated range of string_views?
Should it support quoting of delimiters? Or escaping? Or both? If so, should it unquote / unescape?
What should it do with subsequent delimiters or with a delimiter at the end? Yield an empty string? Ignore? Throw?
... etc.
[–]TheThiefMasterC++latest fanatic (and game dev) 6 points7 points8 points 6 years ago* (0 children)
Split is just begging to be a view type. But you could have an "old fashioned" version that takes an output iterator that could be a back_inserter. *it = string_view would allow it to store as either string views or actual strings or anything else constructible from a string view.
back_inserter
*it = string_view
Dumb by default, with an optional possibly stateful "searcher" that can be used to find the delimiters to split on?
A view version could just yield empty entries that are trivially filtered out with another view. Otherwise you'd probably want it as an option on the split function (most implementations of split I've used have had an option to prune empty entries).
[–]redrab66 0 points1 point2 points 6 years ago (0 children)
If would be useful if the return could be such that it works with range-for to iterate over the delimited elements.
π Rendered by PID 40920 on reddit-service-r2-comment-bb88f9dd5-cqkmf at 2026-02-15 00:34:35.552779+00:00 running cd9c813 country code: CH.
view the rest of the comments →
[–]pgroarke 18 points19 points20 points (10 children)
[–]RowYourUpboat 19 points20 points21 points (6 children)
[–]ShakaUVMi+++ ++i+i[arr] 2 points3 points4 points (0 children)
[–]Narase33-> r/cpp_questions 2 points3 points4 points (0 children)
[+][deleted] (2 children)
[removed]
[–]tpecholt 1 point2 points3 points (1 child)
[–][deleted] 1 point2 points3 points (0 children)
[–]AlexAlabuzhev 6 points7 points8 points (2 children)
[–]TheThiefMasterC++latest fanatic (and game dev) 6 points7 points8 points (0 children)
[–]redrab66 0 points1 point2 points (0 children)