2 hchchc6016 hchchc6016 于 2016.04.13 02:03 提问

模板实例化的时候,尖括号可以省略吗?

1.为什么有些地方我看见省略了,有些地方不能省略
2.函数模板的非类型参数可以当做形参,传入函数吗,这样实例的时候直接在参数列表中赋值 如图
图片说明
图片说明

2个回答

caozhy
caozhy   Ds   Rxr 2016.04.13 02:29
已采纳

(1)关键看省略了会不会引起歧义,比如说
T foo()
你调用foo()没办法知道T是什么类型
void foo(T x)
你调用foo(1),自然T就是int。
再比如
void foo(T x)
void foo(A x)
构成重载,其中A是一个非模板的版本
A a;
foo(a);如果你这么写,是调用的谁就不知道了。

(2)可以,传入函数指针。

hchchc6016
hchchc6016 回复endif_forever: 谢谢~~~
一年多之前 回复
endif_forever
endif_forever 回复hchchc6016: 传入函数指针来进行回调----即在函数内部处理后,可以根据调用传入的函数指针来进行后续的操作、响应。具体关于回调函数请百度“回调函数”
一年多之前 回复
hchchc6016
hchchc6016 还有传入函数指针是什么意思
一年多之前 回复
hchchc6016
hchchc6016 请问可以当做形参,是不是要在尖括号和函数的参数里面都声明
一年多之前 回复
CSDNXIAOD
CSDNXIAOD   2016.04.13 02:12

C++模板实例化
模板实例化
模板实例化(c++)
----------------------biu~biu~biu~~~在下问答机器人小D,这是我依靠自己的聪明才智给出的答案,如果不正确,你来咬我啊!

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!