成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

如何調(diào)用C++函數(shù)?

開(kāi)發(fā) 后端
下面文章主要介紹下如何在C++程序中調(diào)用C++ 函數(shù),其困難不在于語(yǔ)言本身,而在于熟悉函數(shù)和調(diào)用方法的理解。

在C++的語(yǔ)言中,和一些程序設(shè)計(jì)語(yǔ)言中,可以將一段經(jīng)常需要使用的代碼封裝起來(lái),在需要使用時(shí)可以直接調(diào)用,這就是程序中所謂的函數(shù),下面就對(duì)C++中的如何調(diào)用C++函數(shù)問(wèn)題進(jìn)行說(shuō)明。

前陣子被問(wèn)及一個(gè)在 C 中如何調(diào)用C++ 函數(shù)的問(wèn)題 ,當(dāng)時(shí)簡(jiǎn)單回答是將函數(shù) 用extern "C" 聲明,當(dāng)被問(wèn)及如何將類內(nèi)成員函數(shù)聲明時(shí),一時(shí)語(yǔ)塞,后來(lái)網(wǎng)上查了下,網(wǎng)上有一翻譯C++ 之父的文章可以作為解答,遂拿來(lái)Mark 一下。

C++ 函數(shù)聲明為 ``extern "C"'' (在你的 C++ 代碼里做這個(gè)聲明),然后調(diào)用它(在你的 C 或者 C++ 代碼里調(diào)用)。例如:

  1. // C++ code:   
  2.  
  3. extern "C" void f(int);   
  4.  
  5. void f(int i)   
  6.  
  7. {   
  8.  
  9.      // ...   
  10.  
  11. }   

當(dāng)然,這招只適用于非成員函數(shù)。如果你想要在 C 里調(diào)用成員函數(shù)(包括虛函數(shù)),則需要提供一個(gè)簡(jiǎn)單的包裝( wrapper )。例如:

  1. /* C code: */   
  2.  
  3. void f(int);   
  4.  
  5. void cc(int i)   
  6.  
  7. {   
  8.  
  9.     f(i);   
  10.  
  11.    /* ... */   
  12.  
  13.      }   

然后,你就可以這樣調(diào)用 C::f() :

  1. // C++ code:   
  2.  
  3. class C   
  4.  
  5. {   
  6.  
  7.        // ...   
  8.  
  9.        virtual double f(int);   
  10.  
  11. };   
  12.  
  13.     
  14.  
  15. extern "C" double call_C_f(C* p, int i) // wrapper function   
  16.  
  17. {   
  18.  
  19.        return p->f(i);   
  20.  
  21. }   

如果你想在 C 里調(diào)用重載函數(shù),則必須提供不同名字的包裝,這樣才能被 C 代碼調(diào)用。例如 :

  1. /* C code: */   
  2.  
  3. void f_i(int);   
  4.  
  5. void f_d(double);   
  6.  
  7.     
  8.  
  9. void cccc(int i,double d)   
  10.  
  11. {   
  12.  
  13.        f_i(i);   
  14.  
  15.        f_d(d);   
  16.  
  17.        /* ... */   

然后,你可以這樣使用每個(gè)重載。

【編輯推薦】

  1. C與C++中標(biāo)準(zhǔn)輸入實(shí)現(xiàn)方式上的一點(diǎn)區(qū)別
  2. C++編譯器如何對(duì)Const常量進(jìn)行分配存儲(chǔ)空間
  3. C++類庫(kù)設(shè)計(jì)的基本構(gòu)思與方法
  4. 玩轉(zhuǎn)C++語(yǔ)言的幾種方法
  5. 如何更好的進(jìn)行C++代碼編制
責(zé)任編輯:chenqingxiang 來(lái)源: NET130
相關(guān)推薦

2023-11-09 23:31:02

C++函數(shù)調(diào)用

2010-01-21 11:23:58

C++函數(shù)調(diào)用

2010-01-20 14:25:56

函數(shù)調(diào)用

2011-08-22 17:25:31

LuaC++函數(shù)

2021-10-11 11:53:07

C++接口代碼

2010-01-25 09:50:58

C++函數(shù)對(duì)象

2010-01-28 10:49:22

C++構(gòu)造函數(shù)

2020-07-31 18:33:56

C++編程語(yǔ)言

2019-08-28 14:21:39

C++C接口代碼

2011-08-22 17:13:00

LuaC++函數(shù)

2011-07-20 16:09:08

C++

2010-01-25 14:00:27

C++類

2010-01-20 17:48:07

C++ 函數(shù)重載

2010-02-04 17:16:33

C++調(diào)用python

2010-01-25 14:43:00

C++構(gòu)造函數(shù)

2010-01-20 14:35:55

C++調(diào)用

2010-01-26 10:42:26

C++函數(shù)

2010-01-27 17:16:52

C++構(gòu)造函數(shù)

2010-01-18 17:38:54

C++虛函數(shù)表

2011-08-25 16:47:53

LuaC++ 證書(shū)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 亚州精品天堂中文字幕 | 在线日韩在线 | 欧美日韩国产精品一区二区 | 国产精品毛片一区二区在线看 | 永久精品 | www.色综合| 99免费在线视频 | 性网站免费 | 97国产精品视频人人做人人爱 | a在线免费观看视频 | 日韩在线成人 | 在线观看视频一区 | 日韩精品一区二区三区中文字幕 | 欧美视频二区 | 日本精品一区二区三区视频 | 国产欧美一区二区精品久导航 | 国产日韩免费视频 | 蜜桃免费一区二区三区 | 国产免费一区二区 | 中文字幕在线观看 | 中文天堂在线一区 | 超碰国产在线 | 99精品久久99久久久久 | 五十女人一级毛片 | 欧美成人一区二区三区片免费 | 欧美日韩视频在线 | 国产激情精品 | 亚洲精品在线国产 | 一二区成人影院电影网 | 男女性毛片 | 日韩手机视频 | 久久99精品国产自在现线小黄鸭 | 免费观看黄网站 | 国产综合视频 | 精品久久精品 | 99国产精品久久久久老师 | 国产精品色| 国产精品毛片一区二区在线看 | 精品毛片在线观看 | 国产一区精品在线 | www狠狠爱com |