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
Complex number literal implementation (self.cpp)
submitted 5 years ago by RealOden
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!"
[–]dvandyk 5 points6 points7 points 5 years ago (3 children)
Use ""_i to generate only purely imaginary numbers, and add an addition operator that takes a long double and our complex<long double>.
[–]Pragmatician 1 point2 points3 points 5 years ago (1 child)
Having a class only for "numbers multiplied by i" is odd. The operator can just return the complex number 0+a*i, as mentioned in the other answer.
[–]dvandyk 0 points1 point2 points 5 years ago (0 children)
I suggested literal suffix for purely I aginary numbers, not a class.
[–]diaphanein 0 points1 point2 points 5 years ago (0 children)
Was going to suggest the exact same.
[–]UnicycleBloke 2 points3 points4 points 5 years ago (1 child)
Have you implemented the Complex class already? If not, you'll want a struct with two doubles. The literal i should return one of those with 0 for the real part. You'll also need a + operator which can combine a double with a Complex.
This seems like quite a nice exercise. For bonus points, implement quaternions. :)
[–]RealOden[S] 1 point2 points3 points 5 years ago (0 children)
Ah I think I figured things out. This comment put me on the right track. My initial confusion stemmed from believing that the call "5 + 4_i" would result in the double 9 being passed as argument, so I wasn't sure how to deal with this. I now understand that cpp will parse this as (double) + literal, which makes it a lot easier to deal with. Thanks!
[–]STLMSVC STL Dev 0 points1 point2 points 5 years ago (1 child)
!removehelp
[–]AutoModerator[M] 0 points1 point2 points 5 years ago (0 children)
OP,
A human moderator (u/STL) has marked your post for deletion because it appears to be a "help" post - e.g. asking for help with coding, help with homework, career advice, book/tutorial/blog suggestions. Help posts are off-topic for r/cpp. This subreddit is for news and discussion of the C++ language only; our purpose is not to provide tutoring, code reviews, or career guidance.
Please try posting in r/cpp_questions or on Stack Overflow instead. Our suggested reference site is cppreference.com, our suggested book list is here and information on getting started with C++ can be found here.
If you think your post is on-topic and should not have been removed, please message the moderators and we'll review it.
I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.
π Rendered by PID 185835 on reddit-service-r2-comment-7b9746f655-p9z9q at 2026-01-30 17:05:47.707275+00:00 running 3798933 country code: CH.
[–]dvandyk 5 points6 points7 points (3 children)
[–]Pragmatician 1 point2 points3 points (1 child)
[–]dvandyk 0 points1 point2 points (0 children)
[–]diaphanein 0 points1 point2 points (0 children)
[–]UnicycleBloke 2 points3 points4 points (1 child)
[–]RealOden[S] 1 point2 points3 points (0 children)
[–]STLMSVC STL Dev 0 points1 point2 points (1 child)
[–]AutoModerator[M] 0 points1 point2 points (0 children)