class HomeForSale { public: // 明确告诉编译器:删掉这两个函数,不要生成,也不允许调用 HomeForSale(const HomeForSale&) = delete; HomeForSale& operator=(const HomeForSale&) = delete; };
优点:
-
意图最清晰:代码直接读作“禁止拷贝”。
-
编译期报错:甚至比 private 技巧更早被编译器捕获。
-
甚至可以是 Public:通常建议在 public 区域声明
= delete