vector中存放函式指標
1編寫4個函式,分別對兩個int值執行加、減、乘、除運算使用vector物件中儲存只想這些函式的指標。
執行:#include<iostream> #include<vector> using namespace std; int fun1(int x,int y); int fun2(int x,int y); int fun3(int x,int y); int fun4(int x,int y); int main() { vector<int(*)(int,int)> v;//vector<decltype(fun1)*> v; v.push_back(fun1); v.push_back(fun2); v.push_back(fun3); v.push_back(fun4); cout<< v[0](1,2)<<endl; cout<<v[1](1,2)<<endl; cout<<v[2](1,2)<<endl; cout<<v[3](1,2)<<endl; return 0; } int fun1(int x,int y) { return (x+y); } int fun2(int x,int y) { return (x-y); } int fun3(int x,int y) { return (x*y); } int fun4(int x,int y) { return (x/y); }
[[email protected] C++ primer]# vim func.cpp
[[email protected] C++ primer]# g++ -o func func.cpp -std=c++11
[[email protected] C++ primer]# ./func
3
-1
2
0
相關推薦
vector中存放函式指標
1編寫4個函式,分別對兩個int值執行加、減、乘、除運算使用vector物件中儲存只想這些函式的指標。 #include<iostream> #include<vector> using namespace std; int fun1(int x
在unordered_map中存放函式指標
在文章C++類裡面使用函式指標 和對於C++函式指標的理解 兩篇文章中已經對函式指標有一定的說明,這裡介紹一下在map中存放指標。 其實在map中存放指標的想法的得來是因為在函式中的if--else語句太多,根據不同的條件執行不同的語句,然後就想為什麼不把判斷
結構體中使用函式指標
struct kobj _ type { void (*release)(struct kobject *); struct sysfs _ ops * sysfs _ ops; struct attribute ** default _
c/c++中的函式指標和指標函式
定義 1.指標函式,本質是函式,返回值為指標,形如,int *pfun(int, int),由於“*”的優先順序低於“()”的優先順序,所以等同於int *(pfun(int, int)) 2.函式指標
C++中的函式指標
1. 普通函式指標 typedef double(*ptrFunc)(int, int); double add(int a, int b); double sub(int a, int b); double mul(int a, int b); double divf(int
為什麼 C++ 中成員函式指標是 16 位元組?
當我們討論指標時,通常假設它是一種可以用 void * 指標來表示的東西,在 x86_64 平臺下是 8 個位元組大小。例如,下面是來自 維基百科中關於 x86_64 的文章 的摘錄: Pushes and pops on the stack are always in 8-byte strides
向量vector 中主要函式的使用
一、vector用於實現陣列的功能,相當於在陣列的基礎上封裝了一些常用的功能。 vector的主要函式 函式名稱 功能 push_back 在尾部新增一個元素
c++中的函式指標和類成員函式指標
// // main.cpp // Demo // // Created by 杜國超 on 16/12/28. // Copyright © 2016年 杜國超. All rights reserved. // #include using namespace std; class MYCla
C語言中的函式指標
Q:函式指標是什麼意思? A:例如一個指標指向int變數,那麼這個指標就是儲存這個int變數在記憶體中儲存的地址。同理,函式指標就是指向一個函式的指標,那麼這個指標就是儲存這個函式在記憶體中儲存的起始
C++中的函式指標和函式物件總結
篇一、函式指標函式指標:是指向函式的指標變數,在C編譯時,每一個函式都有一個入口地址,那麼這個指向這個函式的函式指標便指向這個地址。函式指標的用途是很大的,主要有兩個作用:用作呼叫函式和做函式的引數。函式指標的宣告方法:資料型別標誌符 (指標變數名) (形參列表);一般函式的宣告為:int func ( in
C語言結構體中的函式指標與函式
1、函式指標 一般的函式指標可以這麼定義: int(*func)(int,int); 表示一個指向含有兩個int引數並且返回值是int形式的任何一個函式指標. 假如存在這樣的一個函式: int add2(int x,int y) { return x+y;
vector中存放自定義類 ,對類的要求
vector中存放自定義類的前提是: 自定義的類必須有預設建構函式。因為vector會呼叫預設建構函式來初始化元素的物件。 那必須要明確:編譯器什麼時候隱式宣告預設建構函式? 有兩個條件: · 該類沒有顯式宣告任何建構函式。--既然你都定義了,系統就不給你生成了。 · 資料
C 中typedef 函式指標的使用
型別定義的語法可以歸結為一句話:只要在變數定義前面加上typedef,就成了型別定義。這兒的原本應該是變數的東西,就成為了型別。 char(&yes)[1]; 定義一個引用 一元字元陣列 的變數,(和char& yes類似,但此不是陣列) char(&no)[2]; 定義一個2個
關於stl::vector中儲存帶指標型別成員的結構體指標
最近用到vector中儲存結構體: struct sProc { // 程序ID int pid; // 程序狀態 int stat; // 狀態為0次數 int count; char *path; sProc() { pid = -1; stat = 0; cou
std::vector中erase函式的用法
(已除錯) //std::vector, erase函式的用法 void VecEraseFun() { std::vector<int> VecInt; for (size_t i = 1; i <= 20; i++) { VecIn
C結構體中的函式指標與函式
1. 函式指標 一般的函式指標可以這麼定義:int(*func)(int,int); 表示一個指向含有兩個int引數並且返回值是int形式的任何一個函式指標. 假如存在這樣的一個函式:int add2(int x,int y){return x+y;}那麼在實際使用指標func時可以這樣實現:func=&
C++中的函式指標和函式物件總結(轉)
篇一、函式指標函式指標:是指向函式的指標變數,在C編譯時,每一個函式都有一個入口地址,那麼這個指向這個函式的函式指標便指向這個地址。函式指標的用途是很大的,主要有兩個作用:用作呼叫函式和做函式的引數。函式指標的宣告方法:資料型別標誌符 (指標變數名) (形參列表);一般函式的宣告為: int func ( i
結構體中定義函式指標
結構體指標變數的定義,定義結構體變數的一般形式如下: 形式1:先定義結構體型別,再定義變數 struct結構體識別符號 { 成員變數列表;… }; struct 結構體識別符號 *指標變數名; 變數初始化一:struct結構體識別符號 變數名={初始化值1,初始化值2,…
輸入5門學科的成績,編寫程式求其平均分。要求用函式完成,科目存放在指標申請的動態空間中。
#include<iostream> using namespace std; double pj(double pa[]);//定義一個計算平均值的函式; int main() { double *pa=new double[5];//分配五個記憶體空間; int i; do
vue事件監聽函式on中的this指標域
使用eventBus在兩個元件A,B之間通訊: //定義全域性eventBus用於事件傳遞 var bus = new Vue(); //A元件 var A = Vue.component({ ... data:{ dataA:1, }, //在鉤子函式中將監聽_even