what /why/how
這些怎麼區分:
函式指標:重點在指標,表示它是乙個指標,它指向的是乙個函式。eg: int (*fun)();
指標函式:重點在函式,表示它是乙個函式,它的返回值是指標。 eg: int* fun();
陣列指標:重點在指標,表示它是乙個指標,它指向的是乙個陣列。int (*fun)[8];
指標陣列:重點在陣列,表示它是乙個陣列,它包含的元素是指標 itn* fun[8];
類模板(class template) - 模板類(template class) 區分:
類模板:重點在模板,表示它是乙個模板,專門用於產生類的模子。
template
class vector
使用這個vector模板就可以產生很多的class(類),vector 、vector 、vector < vector >。
模板類: 重點在類,表示的是由乙個模板生成而來的類。
例子:上面的vector 、vector 、……全是模板類。
函式模板(function template)——模板函式(template function)
函式模板的重點是模板。表示的是乙個模板,專門用來生產函式。
eg:template
void fun(t a)
在運用的時候,可以顯式(explicitly)生產模板函式,fun(int) ,fun(double) , fun(shape*)。
也可以在使用的過程中由編譯器進行模板引數推導,幫你隱式(implicitly)生成。
fun(1) //隱式的生成fun(int)
func(1.2) //隱式的生成fun(double)
func('a') //隱式的生成fun(char)
shape* ps = new ch;
fun(ps); //隱式的生成fun(shape*)
模板函式:重點在函式,表示的是由乙個模板生成而來的函式。
面顯式(explicitly)或者隱式(implicitly)生成的fun 、fun ……都是模板函式。
從文章的討論中,可以看到,名字是非常重要的,如果對名字的使用不恰當的話,會引起很多的麻煩和誤解。有時候還是需要付出一定的代價。
函式指標和指標函式 陣列指標和指標陣列
函式指標 在程式執行中,函式 是程式的演算法指令部分,它們和陣列一樣也占用儲存空間,都有相應的位址。可以使用指標變數指向陣列的首位址,也可以使用指標變數指向函式 的首位址,指向函式 首位址的指標變數稱為函式指標。1 函式指標定義 函式型別 指標變數名 形參列表 函式型別 說明函式的返回型別,由於 的...
函式指標VS指標函式 陣列指標VS指標陣列
定義乙個函式 void fuc1 int a 宣告函式指標 int fucptr int 函式指標fucptr指向函式fuc1 fucptr fuc1 呼叫函式指標 fucptr 10 int array1 10 定義乙個陣列 int arrayptr 10 定義乙個陣列指標 arrayptr ar...
函式指標,指標函式,陣列指標,指標陣列 核心剖析
就是 的優先順序比和 都要低,所以要是沒有 p 讓其型別 控制代碼母體 最終成為指標的話,那麼它就是控制代碼母體是函式或者陣列 下面就是指標函式,因為pfun先和 結合成為函式,然後返回值是int 整型指標 再下面是指標陣列,同樣也是a先和 結合成為陣列,然後陣列和每乙個元素的型別是int 整型指標...