这是mac中std :: is_class的实现。我不明白" int _Tp :: *"的参数是什么。有人可以解释一下吗?什么是参数类型和参数名称是什么?感谢。
另一个问题是省略号。在C中,它在省略号之前至少需要一个参数,但在c ++中它可以只是省略号。我在哪里可以找到关于这部分的标准?
Class A{
A(){
System.out.println("A-Default");
}
A(String msg){
System.out.println("A-With one Argument msg : " + msg );
}
}
public Class B extends A{
B(){
super("Hi");
System.out.println("B-Default");
}
public static void main(String [] args){
new B();
}
}
Output :
A-With one Argument msg : Hi
B-Default
答案 0 :(得分:0)
要回答您的一个问题,__test(...)
函数接受任意数量的任何参数。但它们无法使用。 va_start
宏需要以前的参数才能工作,没有它就无法得到任何参数。
原因是__test
可以与任何类型的参数一起使用,但实际上并未实现。这是有效的,因为该函数仅在编译时使用,不会发生实际调用。由于它被重载,编译器会根据使用的类型做不同的事情。