Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/131.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 是decltype';模板参数的结果_C++_Templates - Fatal编程技术网

C++ 是decltype';模板参数的结果

C++ 是decltype';模板参数的结果,c++,templates,C++,Templates,decltype的结果是否与模板标识符相同?(当提及T及其值时,正确的术语是什么?)。也就是说,是否存在断言失败的情况 template<typename T> void foo(T x) { static_assert(std::is_same<decltype(x), T>::value, "decltype check failed"); } 模板 void foo(T x) { 静态断言(std::is_same::value,“decltype检查失败”)

decltype
的结果是否与模板标识符相同?(当提及T及其值时,正确的术语是什么?)。也就是说,是否存在断言失败的情况

template<typename T>
void foo(T x)
{
  static_assert(std::is_same<decltype(x), T>::value, "decltype check failed");
}
模板
void foo(T x)
{
静态断言(std::is_same::value,“decltype检查失败”);
}

变量的类型
x
是T,因此静态断言总是会通过。

“正确的术语是什么?”
T
是一个模板参数,它的值是一个模板参数。这会因为一些修改而改变吗,例如
decltype((x))
。我问这个问题的原因是因为我认为很难理解decltype和模板参数推断的更详细的细节。