"= 删除"如何工作?有人可以解释这个构造函数吗?



致力于制作哈希表。试图弄清楚如何更好地优化我的表格。找到了这个有趣的代码,似乎找不到任何C++文档来解释这段代码的底部两行是如何工作的,或者为什么会这样工作。有人可以解释一下吗?此外,是否有其他方法可以做同样的事情并提供更多的可读性?

class Table {
public:
explicit Table(const int s);
~Table();
Table(const Table&) = delete;
Table &operator = (const Table&) = delete;

= delete告诉编译器不要为类生成指定的函数,如果它是特殊成员函数之一。或者从类中删除函数(如果它是继承的函数(。

至于可读性,老实说,我认为你不能比= delete更清晰和明确。你觉得有什么不清楚的?

最新更新