如何检查构造函数是否显式默认

问题描述 投票:0回答:1

例如:

struct X {
    X(){/***/}
    X(const int& ){/***/}
    X(      int&&){/***/}
    X(const X& ) = default;
    X(      X&&) = default;
    X& operator=(const X& ){/***/}
    X& operator=(      X&&){/***/}
};

X
不是微不足道的,也不是聚合。

检查类

X
的源代码不是一个选项(尽管知道哪些构造函数和运算符可用)。

c++ constructor language-lawyer defaulted-functions
1个回答
0
投票

图书馆没有这方面的特征。也不可能借助核心语言来检查。

© www.soinside.com 2019 - 2024. All rights reserved.