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

如何調用C++函數?

開發 后端
下面文章主要介紹下如何在C++程序中調用C++ 函數,其困難不在于語言本身,而在于熟悉函數和調用方法的理解。

在C++的語言中,和一些程序設計語言中,可以將一段經常需要使用的代碼封裝起來,在需要使用時可以直接調用,這就是程序中所謂的函數,下面就對C++中的如何調用C++函數問題進行說明。

前陣子被問及一個在 C 中如何調用C++ 函數的問題 ,當時簡單回答是將函數 用extern "C" 聲明,當被問及如何將類內成員函數聲明時,一時語塞,后來網上查了下,網上有一翻譯C++ 之父的文章可以作為解答,遂拿來Mark 一下。

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

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

當然,這招只適用于非成員函數。如果你想要在 C 里調用成員函數(包括虛函數),則需要提供一個簡單的包裝( 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.      }   

然后,你就可以這樣調用 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 里調用重載函數,則必須提供不同名字的包裝,這樣才能被 C 代碼調用。例如 :

  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.        /* ... */   

然后,你可以這樣使用每個重載。

【編輯推薦】

  1. C與C++中標準輸入實現方式上的一點區別
  2. C++編譯器如何對Const常量進行分配存儲空間
  3. C++類庫設計的基本構思與方法
  4. 玩轉C++語言的幾種方法
  5. 如何更好的進行C++代碼編制
責任編輯:chenqingxiang 來源: NET130
相關推薦

2023-11-09 23:31:02

C++函數調用

2010-01-21 11:23:58

C++函數調用

2010-01-20 14:25:56

函數調用

2011-08-22 17:25:31

LuaC++函數

2021-10-11 11:53:07

C++接口代碼

2010-01-28 10:49:22

C++構造函數

2010-01-25 09:50:58

C++函數對象

2020-07-31 18:33:56

C++編程語言

2019-08-28 14:21:39

C++C接口代碼

2011-08-22 17:13:00

LuaC++函數

2011-07-20 16:09:08

C++

2010-01-25 14:00:27

C++類

2010-01-20 17:48:07

C++ 函數重載

2010-02-04 17:16:33

C++調用python

2010-01-25 14:43:00

C++構造函數

2010-01-20 14:35:55

C++調用

2010-01-27 17:16:52

C++構造函數

2010-01-26 10:42:26

C++函數

2009-08-31 09:21:38

JavaScript調

2010-01-18 17:38:54

C++虛函數表
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 在线日韩视频 | 一区二区三区视频在线免费观看 | 免费看黄色视屏 | 亚洲免费久久久 | 成人av鲁丝片一区二区小说 | 日日草天天干 | 午夜av在线 | 久久这里只有精品首页 | 欧美久久影院 | 国产精品视频一区二区三区四区国 | 久草在线| 亚洲一区 中文字幕 | 香蕉大人久久国产成人av | 日韩精品免费在线 | 毛片黄 | 91高清免费观看 | 狠狠爱一区二区三区 | 日韩在线免费视频 | 天天操网 | 日本高清中文字幕 | 日本成年免费网站 | 在线成人免费视频 | 日一区二区 | 在线观看国产网站 | 国产精品一区二区无线 | 日韩成年人视频在线 | 亚洲综合婷婷 | 精品日韩一区二区三区 | 影视一区 | 在线成人免费视频 | 免费成人高清在线视频 | 操夜夜| 久久r久久 | 国产精品一区二区视频 | 中文字幕第十页 | av资源在线看 | xxx.在线观看 | av中文字幕在线观看 | 成人性视频免费网站 | 日日干日日操 | 男人av网|