程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程解疑 >> c++-模板實例化的時候,尖括號可以省略嗎?

c++-模板實例化的時候,尖括號可以省略嗎?

編輯:編程解疑
模板實例化的時候,尖括號可以省略嗎?

1.為什麼有些地方我看見省略了,有些地方不能省略
2.函數模板的非類型參數可以當做形參,傳入函數嗎,這樣實例的時候直接在參數列表中賦值 如圖
圖片說明
圖片說明

最佳回答:


(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)可以,傳入函數指針。

endif_forever
hchchc6016
hchchc6016
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved