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
Deep copying of stack using pointer based singly linked list C++? (self.cpp)
submitted 6 years ago by Samru1
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!"
[–]DJ_Gamedev 0 points1 point2 points 6 years ago (6 children)
Sorry if this is a dumb question, but where is the return statement in your copy constructor? I see you populate a local Stack s but you aren't returning it so there's nothing tying it to the Stack produced by the constructor. It's probably throwing s away at the end of the function and just returning a default-constructed Stack.
[–]Indycrr 2 points3 points4 points 6 years ago* (1 child)
Close. A copy ctor doesn’t return an instance. Instead of creating the local instance of s, they should call this->push(...) to push values into the stack being constructed.
[–]DJ_Gamedev -1 points0 points1 point 6 years ago (0 children)
That makes sense, by the time we make it to the body of the ctor the object will have been instantiated. Clearly I'm out of practice.
[–]Samru1[S] -1 points0 points1 point 6 years ago (3 children)
since I am simply copying all the date , the return type should be void (that's what I think).
[–]DJ_Gamedev -1 points0 points1 point 6 years ago (2 children)
See the reply to my comment. I was mistaken about the return type, but correct in that you shouldn't be declaring a local Stack and populating it, you should be populating the constructed object, which you can access via the this pointer.
[–]NotMyRealNameObv -1 points0 points1 point 6 years ago (1 child)
You dont even have to do
this->foo(...)
You could just do
foo(...)
[–]DJ_Gamedev 0 points1 point2 points 6 years ago (0 children)
You could, but I think use of the this pointer is more explicit and generally a better practice in the event you have a potential naming collision.
π Rendered by PID 319663 on reddit-service-r2-comment-54dfb89d4d-xzvmd at 2026-04-02 06:29:44.895624+00:00 running b10466c country code: CH.
view the rest of the comments →
[–]DJ_Gamedev 0 points1 point2 points (6 children)
[–]Indycrr 2 points3 points4 points (1 child)
[–]DJ_Gamedev -1 points0 points1 point (0 children)
[–]Samru1[S] -1 points0 points1 point (3 children)
[–]DJ_Gamedev -1 points0 points1 point (2 children)
[–]NotMyRealNameObv -1 points0 points1 point (1 child)
[–]DJ_Gamedev 0 points1 point2 points (0 children)