'= delete'如何运作?有人可以解释这个构造函数吗?

时间:2018-05-14 19:16:02

标签: c++ constructor

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

class Table {
public:
    explicit Table(const int s);
    ~Table();

    Table(const Table&) = delete;
    Table &operator = (const Table&) = delete;

1 个答案:

答案 0 :(得分:0)

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

至于可读性,老实说,我认为你可以比= delete更清楚明确地做到这一点。你发现什么不清楚?