每当我有一个函数在另一个函数的末尾调用时,我总是在返回的同一行调用它,就像这样return foo(x).
将结果分配给变量botch任何尾部优化的可能性?像这样,
function(...)
...
tmp = foo(x)
return tmp
end
Run Code Online (Sandbox Code Playgroud) 我有以下代码,
#include <iostream>
#include <tuple>
static inline void print (void)
{
;
}
template <typename Head, typename... Tail>
static inline void print (Head h, Tail... t)
{
std::cout << h << std::endl;
print(t...);
}
int main(int argc, char *argv[])
{
print("string", 42, 3.43, true, 'c');
return 0;
}
Run Code Online (Sandbox Code Playgroud)
有没有办法专门针对第一种类型,Head,例如,bool?我正在寻找的是我需要做的正确语法.我试过添加这个额外的模板,
template <bool, typename... Tail>
static inline void print (bool h, Tail... t)
{
std::cout << "I'm a bool!" << std::endl;
print(t...);
}
Run Code Online (Sandbox Code Playgroud)
无济于事.