c 學習筆記2 函式指標及lambda使用

2021-10-11 13:27:00 字數 959 閱讀 9271

void(*func)(int)----指的是乙個函式指標型別變數,變數名為func,該變數指向一種函式型別,該函式有乙個int型別引數,返回值為void

#include #include void printvalue(int value) 

void foreach(const std::vector& values, void(*func)(int))

int main() ;

foreach(array, printvalue);

std::cin.get();

}

此時可以使用lambda函式替代printvalue。

#include #include void foreach(const std::vector& values, void(*func)(int)) 

int main() ;

int a = 5;

auto lamda = (int value) ;

foreach(array, lamda);

std::cin.get();

}

注意lambda前面的 [ ] 用來定義作用域中的變數的捕獲方式,定義如下:

但是請注意,如果使用變數捕獲,則需要加上標頭檔案functionl,以及更改foreach函式定義的形參,否則,使用lambda會報錯。如下:

#include #include #include #include void foreach(const std::vector& values, void(*func)(int)) 

int main() ;

int a = 5;

auto lamda = (int value) ;

foreach(array, lamda);

std::cin.get();

}

C 學習筆記 指標2

關於指標形參的注意事項 不要企圖通過改變指標形參的值而使指標實參的值改變,看下面的 include void swap int p1,int p2 int main int a 5,b 9 int pa,pb pa a pb b if a b swap pa,pb std cout a b 要想輸入...

C 學習筆記 函式指標

1 c 指標函式基礎 函式是有位址的,它表示函式執行的入口。我們知道位址值並沒有用,但是可以將位址值當做實參傳入到其它函式中,這可以在不同的時期呼叫不同的函式。函式指標包括三點 如何獲取函式位址,如何申明函式指標,如何呼叫函式。簡單示例 include double betsy int double...

C 學習筆記 函式指標與指標函式

函式指標 指向函式的指標,首先它是指標變數 同指向乙個整形變數 字元 陣列一樣 其次它指向乙個函式 位址 宣告 函式型別 指標變數名 形參列表 函式型別,指明函式的返回型別,由於 優先順序高於 所以指標變數名外的括號不能少,後面形參列表表示指標變數指向的函式所帶的引數列表。上面相當於用函式指標p,代...