Я читал некоторый код C++ из базового эмулятора процессора, и я просто не могу этого понять:
class CPU {
private:
CPU (const CPU&){}
};
Я понимаю указатели, я также проверил это: Ampersand & с const в конструкторе. По-видимому, это (жесткий) конструктор копирования, но я не понимаю, как это работает? почему константа? Почему амперсанд в конце без имени var? Почему частный? Я не нашел подобного примера ни в своих книгах, ни на сайте cplusplus.com.
На заметку:
int foo(int var) { cout << var; }
int bar(int &var) { cout << var; }
foo и bar печатают одно и то же? bar по сути печатает *&var?
Любая помощь приветствуется!