我遇到了以下形式的奇怪代码:
// Given the following definitions:
class B;
B b;
// Line of interest:
auto a(b);
Run Code Online (Sandbox Code Playgroud)
我以为它一定是拼写错误,但是经过一些实验发现它是可行的,并且似乎总是调用type的copy构造函数b(即使您有其他也可以具有匹配构造函数的类,即使您另外删除类型为的复制构造函数b。
我不知道这样一条语句的技术名称,所以我不确定如何在cppreference或StackOverflow中搜索它。编译器通常如何解析这种类型的语句,它在哪里记录?
-
回复:重复标记。我看不出他们如何解决这个问题。我已经知道auto使用模板类型推导,在这种情况下并不能说明任何事情。