函数指针,指针函数,数组指针,指针数组 区分
what /why/how
?這些怎么區(qū)分:
函數(shù)指針:重點在指針,表示它是一個指針,它指向的是一個函數(shù)。eg: int (*fun)();
指針函數(shù):重點在函數(shù),表示它是一個函數(shù),它的返回值是指針。 eg: int* ?fun();
?
數(shù)組指針:重點在指針,表示它是一個指針,它指向的是一個數(shù)組。int (*fun)[8];
指針數(shù)組:重點在數(shù)組,表示它是一個數(shù)組,它包含的元素是指針 itn* ?fun[8];
?
類模板(class ? template)? - 模板類(template ? class) 區(qū)分:
類模板:重點在模板,表示它是一個模板,專門用于產生類的模子。
template <tempname T>
class ? Vector
{
.....................................
}
使用這個Vector模板就可以產生很多的class(類),Vector <int> 、Vector <char> 、Vector < ? Vector <int> ? >。
模板類: 重點在類,表示的是由一個模板生成而來的類。
例子:上面的Vector <int> 、Vector <char> 、……全是模板類。?
?
函數(shù)模板(function ? template)——模板函數(shù)(template ? function)?
函數(shù)模板的重點是模板。表示的是一個模板,專門用來生產函數(shù)。
eg:
template <tempname T>
void ? fun(T ? a)?
{?
? ? ? ? ? ? …?
}?
在運用的時候,可以顯式(explicitly)生產模板函數(shù),fun(int) ,fun(double) , fun(shape*)。
也可以在使用的過程中由編譯器進行模板參數(shù)推導,幫你隱式(implicitly)生成。
fun(1) ? ? ? ? ?//隱式的生成fun(int)
func(1.2) ? ?//隱式的生成fun(double)
func('a') ? ?//隱式的生成fun(char)
Shape* ?ps = new ?ch;
?fun(ps); ? ?//隱式的生成fun(Shape*)
?
模板函數(shù):重點在函數(shù),表示的是由一個模板生成而來的函數(shù)。
面顯式(explicitly)或者隱式(implicitly)生成的fun <int> 、fun <Shape*> ……都是模板函數(shù)。
?
?
從文章的討論中,可以看到,名字是非常重要的,如果對名字的使用不恰當?shù)脑?#xff0c;會引起很多的麻煩和誤解。有時候還是需要付出一定的代價。?
?
轉載于:https://www.cnblogs.com/wutengbiao/p/5029131.html
《新程序員》:云原生和全面數(shù)字化實踐50位技術專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的函数指针,指针函数,数组指针,指针数组 区分的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ## #@ #
- 下一篇: CleanAOP实战系列--WPF中MV