По-прежнему ли я получаю конструктор копирования по умолчанию и оператор =, если я определяю их с не -константными аргументами?

В С++, если я определяю конструктор копирования и оператор =, которые принимают не -константную ссылку на класс, должен ли компилятор по-прежнему предоставлять версии по умолчанию для константной ссылки?

struct Test {
  Test(Test &rhs);
  Test &operator=(Test &rhs);

private:
  // Do I still need to declare these to avoid automatic definitions?
  Test(const Test &rhs);
  Test &operator=(const Test &rhs);
};
7
задан WilliamKF 13 August 2012 в 14:48
поделиться