| 5 | 1/1 | 返回列表 |
| 查看: 2033 | 回復(fù): 4 | ||
tiandui新蟲 (初入文壇)
|
[求助]
“類”的前置聲明與“函數(shù)”的前置聲明區(qū)別在哪里
|
|
如題,本人初學(xué),我知道“類”的前置聲明是有局限的,“函數(shù)”的前置聲明則不同 于是有些疑惑,這二者機(jī)制差別在哪里 為什么類不能像函數(shù)一樣,前置聲明,然后任意使用 標(biāo)準(zhǔn)設(shè)計(jì)成這樣一定有其道理,那是什么原因呢。 請(qǐng)教各路英雄,謝謝大家。 [ Last edited by tiandui on 2012-2-26 at 17:23 ] |
木蟲 (著名寫手)
|
函數(shù)和類的前置聲明,是一樣的,也是不一樣的,是統(tǒng)一的,也是對(duì)立的,哈哈。唧歪過后: 函數(shù)(類)的前置聲明都是告訴編譯器有那么一個(gè)函數(shù)名(類名)。 區(qū)別在于,聲明函數(shù)的時(shí)候,附帶著這個(gè)函數(shù)的參數(shù)列表;而聲明類時(shí),編譯器只知道類的名字,不知里面的成員變量和成員函數(shù)。 1.不需要調(diào)用類的實(shí)現(xiàn)時(shí),可以僅僅使用類的前置聲明就可以。 2.當(dāng)要用到類的具體內(nèi)容時(shí),就要類的定義。 為什么如此設(shè)計(jì),應(yīng)該是為了簡(jiǎn)潔吧。估計(jì)C++它爸不想在聲明時(shí)使用一長(zhǎng)串的代碼來描寫類的五臟六腑。。。 參見: C++它爸的《The C++ Programming Language》 [ 發(fā)自手機(jī)版 http://www.gaoyang168.com/3g ] |

新蟲 (初入文壇)
|
呃,說是這么個(gè)說 哦,我明白了,是因?yàn)榫幾g時(shí)碰到函數(shù),只要知道參數(shù)表和返回值,編譯就能判斷是否匹配了,可以排除匹配錯(cuò)誤 但是如果只知道類的聲明,編譯時(shí)是不能判斷是否合理的,好些過程沒法執(zhí)行 我開始弄混了執(zhí)行和編譯器檢查這兩個(gè)過程。 執(zhí)行的時(shí)候才會(huì)進(jìn)出函數(shù),編譯時(shí)不用,所以編譯時(shí)不存在順序問題 而編譯時(shí)會(huì)進(jìn)出類,所以這時(shí)候必須知道類的細(xì)節(jié)?(編譯這詞被我胡亂用了) 那再請(qǐng)問,這是不是強(qiáng)調(diào)編譯是嚴(yán)格按代碼“順序”執(zhí)行的? |
木蟲 (著名寫手)
|
其實(shí)你不用管編譯的過程,編譯過程大致包括代碼的語法分析,建立抽象語法樹,建立symbol table(中文可能叫符號(hào)表,不清楚,哈哈),然后是匯編代碼,再機(jī)器碼。過程中要讀取分析幾次源代碼,所以無所謂順序不順序。 在應(yīng)用層面上,樓主只要關(guān)心程序的運(yùn)行時(shí)過程就好了。你可以使用一下debug工具,讓程序一步一步執(zhí)行看看。 |

新蟲 (初入文壇)
| 5 | 1/1 | 返回列表 |
| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|
|
[考研] 285求調(diào)劑 +6 | ytter 2026-03-22 | 6/300 |
|
|---|---|---|---|---|
|
[考研] 0856材料專碩353求調(diào)劑 +4 | NIFFFfff 2026-03-20 | 4/200 |
|
|
[考研] 工科0856求調(diào)劑 +3 | 沐析汀汀 2026-03-21 | 3/150 |
|
|
[考研] 求調(diào)劑 +3 | 13341 2026-03-20 | 3/150 |
|
|
[考研] 297求調(diào)劑 +11 | 戲精丹丹丹 2026-03-17 | 12/600 |
|
|
[考研] 299求調(diào)劑 +5 | shxchem 2026-03-20 | 7/350 |
|
|
[考研] 材料與化工(0856)304求 B區(qū) 調(diào)劑 +3 | 邱gl 2026-03-21 | 3/150 |
|
|
[考研] 化學(xué)求調(diào)劑 +4 | 臨澤境llllll 2026-03-17 | 5/250 |
|
|
[考研] 307求調(diào)劑 +10 | 冷笙123 2026-03-17 | 10/500 |
|
|
[考研] 一志愿華中科技大學(xué),080502,354分求調(diào)劑 +5 | 守候夕陽(yáng)CF 2026-03-18 | 5/250 |
|
|
[考研] 求調(diào)劑,一志愿:南京航空航天大學(xué)大學(xué) ,080500材料科學(xué)與工程學(xué)碩,總分289分 +4 | @taotao 2026-03-19 | 4/200 |
|
|
[考研] 一志愿吉林大學(xué)材料學(xué)碩321求調(diào)劑 +11 | Ymlll 2026-03-18 | 15/750 |
|
|
[考研] 一志愿南理工085701環(huán)境302求調(diào)劑院校 +3 | 葵梓衛(wèi)隊(duì) 2026-03-20 | 3/150 |
|
|
[論文投稿]
申請(qǐng)回稿延期一個(gè)月,編輯同意了。但系統(tǒng)上的時(shí)間沒變,給編輯又寫郵件了,沒回復(fù)
10+3
|
wangf9518 2026-03-17 | 4/200 |
|
|
[考研] 材料學(xué)碩318求調(diào)劑 +5 | February_Feb 2026-03-19 | 5/250 |
|
|
[考研] 生物學(xué)調(diào)劑招人。。 +3 | 山海天嵐 2026-03-17 | 4/200 |
|
|
[考研] 材料工程專碩調(diào)劑 +5 | 204818@lcx 2026-03-17 | 6/300 |
|
|
[考研] 【同濟(jì)軟件】軟件(085405)考研求調(diào)劑 +3 | 2026eternal 2026-03-18 | 3/150 |
|
|
[考研] 085601專碩,總分342求調(diào)劑,地區(qū)不限 +5 | share_joy 2026-03-16 | 5/250 |
|
|
[考博] 26申博 +4 | 八6八68 2026-03-16 | 4/200 |
|