我试图在c++中学习模板,但我对自己找不到答案表示怀疑。如果这不是一个恰当的问题,我很抱歉。
如果我有以下代码:
template< class T >
T func( T a, T b )
{
return a + b;
}然后:
int number = func( 2, 3 );数字将被简单地设置为5还是一个函数?
int func( int a, int b )
{
return a + b;
}被生成?
我需要知道是否可以创建一个模板来检查某个字符串是否在文件中。
发布于 2014-06-14 21:57:46
两者(:代码:
int number = func( 2, 3 );将实例化int类型的模板函数,但编译器可能(取决于编译器选项)实际上将其优化为:
int number = 5;发布于 2014-06-14 22:04:24
相当于
int func( int a, int b )
{
return a + b;
}肯定会生成(当然,除非是优化出来的)。要看这个,试着
int (*func_int)(int, int) = func<int>; // pointer to instantiated function
int number = func_int(2, 3); // sets number to 5https://stackoverflow.com/questions/24224632
复制相似问题