在C++中,您可以使用非类型模板参数创建模板,如下所示:
template< int I >
void add( int& value )
{
value += I;
}
int main( int argc, char** argv )
{
int i = 10;
add< 5 >( i );
std::cout << i << std::endl;
}
Run Code Online (Sandbox Code Playgroud)
其中打印"15"到cout.有什么用?是否有任何理由使用非类型模板参数而不是更常规的类似参数:
void add( int& value, int amount )
{
value += amount;
}
Run Code Online (Sandbox Code Playgroud)
对不起,如果已经被问过(我看了但找不到任何东西).