【发布时间】:2019-02-01 09:48:37
【问题描述】:
让我们有以下代码
auto x = { 11, 23, 9 };
template<typename T> // template with parameter
void f(T param);
f({ 11, 23, 9 }); // error! can't deduce type for T
下面代码中auto是自动推导出来的,模板不是自动推导出来的。
auto类型是如何推导出来的?什么是
auto幕后输入?
【问题讨论】:
-
引用参考文献是一个好习惯,尤其是当您逐字使用内容时。来自 Scott Meyers 的“Effective Modern C++”。
-
分享知识是件好事。但是您必须提及您的来源,尤其是在涉及使用已出版的受版权保护书籍的内容时。
-
这不是我幸福的问题。受版权保护的材料可以被删除。例如看这篇文章。 meta.stackoverflow.com/questions/276012/…
-
自动类型推导与模板类型推导相同,但花括号初始化器除外。 Scott Meyers 在下面的 cppcon youtu.be/wQxj20X-tIU 中已经清楚地解释了这一点