真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

如何進(jìn)行調(diào)用C++函數(shù)

如何進(jìn)行調(diào)用C++函數(shù),相信很多沒有經(jīng)驗(yàn)的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個(gè)問題。

三明網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)公司!從網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站設(shè)計(jì)等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營維護(hù)。創(chuàng)新互聯(lián)公司成立于2013年到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)公司

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

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

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

// C++ code:    extern "C" void f(int);    void f(int i)    {         // ...    }

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

/* C code: */    void f(int);    void cc(int i)    {        f(i);       /* ... */         }

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

// C++ code:    class C    {           // ...           virtual double f(int);    };         extern "C" double call_C_f(C* p, int i) // wrapper function    {           return p->f(i);    }

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

/* C code: */    void f_i(int);    void f_d(double);         void cccc(int i,double d)    {           f_i(i);           f_d(d);           /* ... */

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

看完上述內(nèi)容,你們掌握如何進(jìn)行調(diào)用C++函數(shù)的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!


網(wǎng)站標(biāo)題:如何進(jìn)行調(diào)用C++函數(shù)
轉(zhuǎn)載源于:http://weahome.cn/article/iejgej.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部