C++ 是否有类型特征来计算构造函数的总数?

C++ 是否有类型特征来计算构造函数的总数?,c++,templates,c++14,template-meta-programming,typetraits,C++,Templates,C++14,Template Meta Programming,Typetraits,可以推断一个类型在编译时拥有的构造函数的数量吗 #include <iostream> #include <type_traits> struct A{ int m_i; float m_f //constructor 1 A(int i): m_i(i) {} //constructor 2 A(float f): m_f(f) {} }; int main() { //prints 2 st

可以推断一个类型在编译时拥有的构造函数的数量吗

#include <iostream>
#include <type_traits>

struct A{

    int m_i;
    float m_f

    //constructor 1
    A(int i): m_i(i) {}

    //constructor 2
    A(float f): m_f(f) {}

};

int main() {

    //prints 2
    std::cout << number_of_constructors<A>::value << '\n';
}  
#包括
#包括
结构A{
国际货币基金组织;
浮点数
//构造器1
A(int i):m_i(i){}
//建造师2
A(float f):m_f(f){}
};
int main(){
//印刷品2
标准::cout
可以推断一个类型在编译时拥有的构造函数的数量吗

在C++11/14中,据我所知,没有


为什么?因为C++没有支持,但是现在有一个学习小组会对C++进行添加反射的提议。首先,为什么你认为上面的类有2个构造函数?第二,第第三个,为什么你想知道这个?我在几个星期前问了一个非常类似的问题,看,答案是“不”。。你想知道用户定义的构造函数的数量还是构造函数的总数?你的类有另外两个隐式声明的构造函数,但是你的程序没有使用它们,所以它们没有定义。这两个构造函数应该包括在计数中,还是应该被忽略,除非它们被定义?不管怎样,答案是你的问题是否定的,这听起来像是XY问题。你如何计算一个构造函数模板,
模板a(T&&T){}