This is absolutely correct. const is required to prevent the passing object being changed by copy constructor code.