I asked this question and was surprised to find it closed as a duplicate despite it being different from the proposed duplicate questions.
The first supposed duplicate is "Deep copy vs Shallow Copy"
I want to know which one should do which, not what the copy constructor does. Therefore the question is similar, but not a duplicate
I also noticed that the proposed duplicate question was also marked duplicate (do this too many times and we might get a stack overflow) for the same reason mine was. It is similar to, but not a duplicate of What is the difference between a deep copy and a shallow copy?.
If the people who marked it as duplicate had read the question they would note that the question added something: "What type of a copy does a copy constructor do?".
The second supposed duplicate is "What is the difference between overloading operator= and overloading the copy constructor?"
This question is asking if the copy constructor is being called if
= is used in variable initialization. I want to know which operator should be used for a shallow copy and which should be used for a deep copy. (as R. Martinho Fernandes said, it should be neither and that instead the move constructor should be called.)
In summary, I believe that a fine line needs to be drawn between 'Duplicate' and 'Similar'. As many questions that add information are being closed because they share some similar properties of other questions. I also suspect that to some extent the reason for marking things as duplicate is a result of the reward for doing so. Something which I find quite sad considering that reputation is designed to show how helpful one is, when in this instance it is rewarded for being deconstructive.