default,delete

来源:互联网 发布:站长中国源码交易 编辑:程序博客网 时间:2024/04/30 22:15
class CTestEx
{
public:
    CTestEx() = default;  //可以使用默认构造

    CTestEx(const std::string& str):mstr(str){}
    std::string what() { return mstr; }

    void* operator new(size_t) = delete;  //禁止使用new方法

protected:
private:
    std::string mstr;

};



    CTestEx t; //可以
    std::shared_ptr<CTestEx> p(new CTestEx("yes")); //错误
    auto p1 = std::make_shared<CTestEx>("ss"); //错误

0 0