日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

前向声明

發布時間:2023/11/30 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 前向声明 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前向聲明的定義:有些時候我們可以聲明一些類但是并不去定義它,當然這個類的作用也很有限了。

如:class A;

聲明一個foo類,這個聲明,有時候也叫做前向聲明(forward declaration),在聲明完這個foo類之后,定義完這個foo類之前的時期,foo類是一個不完全的類型(incomplete type),

也就是說foo類是一個類型,但是這個類型的一些性質(比如包含哪些成員,具有哪些操作)都不知道。

因此這個類的作用也很有限.

(1)不能定義foo類的對象。(不能)

(2)可以用于定義指向這個類型的指針或引用。(很有價值的東西)(能) ----- 因為所有類型的引用和指針都是4字節,嘻嘻。

(3)用于聲明(不是定義)使用該類型作為形參或者返回類型的函數。(能)

如:

class string;

class Sample

{

private:

string &s;

};

這里只需要做一個string的前向聲明就可以了,不需要#include <string>

這里,我根本沒有定義一個foo類,但是還是可以這樣用,因為成員函數不占類對象的大小,所以c++編譯器還是可以確定對象的大小。

前向聲明的作用在于告訴編譯器這個是一個在別的地方定義的類型。這樣C++編譯器就能生成正確的符號表了。編譯器只知道這是一個類?一個結構體?

但是在類實現文件還是要 include 聲明這個類的頭文件的

轉載于:https://www.cnblogs.com/yiii/p/5605098.html

總結

以上是生活随笔為你收集整理的前向声明的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。