線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:4279
推到 Plurk!
推到 Facebook!

const 和 #define

答題得分者是:Stallion
Randgris
一般會員


發表:20
回覆:30
積分:10
註冊:2007-04-15

發送簡訊給我
#1 引用回覆 回覆 發表時間:2007-06-02 12:22:47 IP:122.124.xxx.xxx 未訂閱
請問const 和 #define的差異為何呢? 以及其各個的優缺點??
Stallion
版主


發表:52
回覆:1600
積分:1995
註冊:2004-09-15

發送簡訊給我
#2 引用回覆 回覆 發表時間:2007-06-02 12:34:55 IP:211.22.xxx.xxx 未訂閱
這兩個怎麼比?
一個是型態宣告關鍵字,一個是前置處理。
顧名思義 const 僅可宣告型態,而define可以作巨集定義展開,某個型態的另一種「稱呼」等等,看你如何運用而已。
===================引 用 Randgris 文 章===================
請問const 和 #define的差異為何呢? 以及其各個的優缺點??
syntax
尊榮會員


發表:26
回覆:1139
積分:1258
註冊:2002-04-23

發送簡訊給我
#3 引用回覆 回覆 發表時間:2007-06-03 00:28:44 IP:61.64.xxx.xxx 訂閱
阿,被你抓到一個 IQ 太低的人
一句很粗的話,但很貼切:爛鳥怎可比雞腿

===================引 用 Stallion 文 章===================
這兩個怎麼比?
一個是型態宣告關鍵字,一個是前置處理。
顧名思義 const 僅可宣告型態,而define可以作巨集定義展開,某個型態的另一種「稱呼」等等,看你如何運用而已。
===================引 用 Randgris 文 章===================
請問const 和 #define的差異為何呢? 以及其各個的優缺點??
harpist
資深會員


發表:3
回覆:251
積分:430
註冊:2002-10-03

發送簡訊給我
#4 引用回覆 回覆 發表時間:2007-06-03 07:22:14 IP:211.74.xxx.xxx 未訂閱
看了你提問的一些問題,你是否有自己思考過呢?
你認為const 和 #define的差異為何呢?優缺點是什麼呢?
你為什麼拿這兩者做比較?
如果你先提出你的看法再提出問題是不是會比較好

言歸正傳!
const 和 #define 兩者真要說其差異在於編譯器(compiler)前處理器(preprocessor)
這樣的認知下 #define 不視為語言的一部份,編譯器可能根本無視你的 #define,
因為
在編
譯器處理之前可能已經被前處理器移走直接替換至程式中。

最後!
兩者怎麼比?比較的基礎是什麼?





===================引 用 Randgris 文 章===================
請問const 和 #define的差異為何呢? 以及其各個的優缺點??
------
~§~迷時師渡,悟了自渡~§~
Randgris
一般會員


發表:20
回覆:30
積分:10
註冊:2007-04-15

發送簡訊給我
#5 引用回覆 回覆 發表時間:2007-06-03 10:57:59 IP:122.124.xxx.xxx 未訂閱
從你發的文章 是否更說明 你才是真的來鬧場呢? 你自以為IQ高?我就是IQ低才來這討論區問問題的阿

你以為每個人都跟你一樣IQ高 都可以自己一個人看書 就一路順順利利的嗎? 我學程式語言 現實中 根本

沒什麼人可以教我 學校老師也很膚淺 都只是隨意帶過 這種心情你能體會多少呢? 要在這麼有限的時間裡

學這麼多東西 台灣的教育 就只知道 跟你講什麼你就做什麼 這種心情你又能體會多少呢? 我短期不會在版上PO張

這樣你高興了嗎?
===================引 用 syntax 文 章===================
阿,被你抓到一個 IQ 太低的人
一句很粗的話,但很貼切:爛鳥怎可比雞腿

===================引 用 Stallion 文 章===================
這兩個怎麼比?
一個是型態宣告關鍵字,一個是前置處理。
顧名思義 const 僅可宣告型態,而define可以作巨集定義展開,某個型態的另一種「稱呼」等等,看你如何運用而已。
===================引 用 Randgris 文 章===================
請問const 和 #define的差異為何呢? 以及其各個的優缺點??
編輯記錄
Randgris 重新編輯於 2007-06-03 11:01:11, 註解 無‧
Randgris 重新編輯於 2007-06-03 11:40:48, 註解 無‧
Randgris 重新編輯於 2007-06-03 11:40:48, 註解 無‧
Randgris
一般會員


發表:20
回覆:30
積分:10
註冊:2007-04-15

發送簡訊給我
#6 引用回覆 回覆 發表時間:2007-06-03 11:35:38 IP:122.124.xxx.xxx 未訂閱
不好意思 我題目沒有寫的很清楚

應該是說const定義的常數 和 #define所定義的常數 哪個會比較好?
Stallion
版主


發表:52
回覆:1600
積分:1995
註冊:2004-09-15

發送簡訊給我
#7 引用回覆 回覆 發表時間:2007-06-03 11:38:36 IP:211.22.xxx.xxx 未訂閱
當然是 const 了!以const宣告型態明確,且C++的compiler也建議常數定義以const宣告。
===================引 用 Randgris 文 章===================
不好意思 我題目沒有寫的很清楚
應該是說const定義的常數 和 #define所定義的常數 哪個會比較好?
syntax
尊榮會員


發表:26
回覆:1139
積分:1258
註冊:2002-04-23

發送簡訊給我
#8 引用回覆 回覆 發表時間:2007-06-03 15:39:05 IP:61.64.xxx.xxx 訂閱
沒辦法,誰要你,短時間,貼一堆爛文章
連要問的問題都沒思考清楚,就開口,你家長沒教你,說話前要先思考嗎?

大家都在這樣的環境下長大,更不用說,現在的小孩,比起以前,呵呵,輕鬆太多了

百分之 90 都是大學生,還有藉口說自己不會,是應該的
(不要跟我說你考不上大學,不是大學生喔!不然就更丟臉了,不過如果你故意不念大學,那就另當別論)

你說的正義凜然,說你多想學習,多痛苦,這只是你不願承認自己無能的藉口
如果不是,我請問你,你的學習環境是有多艱難

跟我們那時聯考錄取率不到 30 % ,是難上多少?

我看你根本就是不願承認自己無能,還找藉口

貼了一堆根本不該問的白爛問題

你是多努力?

那你來說,編譯程式內附的線上 HELP ,你看全部看過否?又有幾次?

C, C , Pascall 的書,你又看過幾本?

本人光是 C 語言的書,就看過十來本,很多站上建議與徵求的書,本人都看過,雖然已翻爛,但也還在書架上或床邊
更不用說,光演算法,本人就有三本英文,最近還買一本中文的來看 (演算法設計,全華),我光資訊相關看過的書,堆起來就有一層樓高

你呢?你呢?如果你沒錢買書,哪還有書局、圖書館
電動少打,偶像少拜、衣服少買、廢食少吃,你自然會有錢可以買書學習,起碼會有錢坐車去圖書館


連基本的東西都不會,還敢說你學習困難,如果你真的該看的都看了,那才有資格說你現在說的話
基本的東西,書上都會教,更不用說,網路一搜尋,比比皆是,你還大言不慚,說學習有多痛苦

真他X,現代的小孩都那麼沒用嗎?
更不用說本人大學也不是資工系,這,只是我的「興趣」,我用空閒時間,都可以做到這樣,你他X 的,來此鬼吼鬼叫,哭什麼苦?

哈哈哈哈,不經讓人大笑

不要這樣凸顯自己的無能,可以嗎?

說你IQ 低,只是諷刺你,任誰都會知道你 IQ 不低 (但也不高就是),如果你很不爽,那抱歉囉,我跟你道歉
因為我也很不爽看到「爛」文章,討厭垃圾資訊,對事不對人,不要介意

同時要感謝你,因為你說:「我短期不會在版上PO張」。這樣大家可以有個沒有垃圾資訊的學習環境,使學習更有效率,所以謝謝你啦!


目前版上的垃圾資訊可概略分為三類:

1. 小白型 (基本工不做、書不看、網不查、連問題都不會問,還自以為是)
2. 懶人型 (不願做工、趕交作業、想不勞而獲者)
3. 自私型 (問完問題後,無原因不貼結果、無原因不結案,硬生生剝奪他人學習權力)

尤其以第一類居多

這些都是:

1. 問問題沒有意義,沒有「提問的智慧」
即使各版大再三提醒、公告,也沒看過「提問的智慧」一文

2. 問題過於基礎,顯示其基本學離的能力有問題
不看書 (去個書局、圖書館;是有多難?你個時間寶貴,我們的就是免費?)
不搜尋 (都在網路上,連搜尋都不會用、不肯用;那又算什麼?新型態網路小白?)
把大家當成線上圖書?浪費眾人時間、降低站上搜尋的準度

3. 擺明是要不勞額獲,就算是給你不勞額獲好了,起碼提出要求時,寫的字多表現誠意一點,有的連字都懶得打
懶多成性,將來必對家裡很有貢獻 (無法貢獻社會,只能幫家裡花錢)
學生的作業,目的何在?是讓網路上的人程度增加?讓網路上的人對課程更熟捻?浪費你父母的辛苦錢,還真是孝順阿!
公司的工作,你有付我們錢嗎?不然為何要幫你,短短一句 (xxx該如何做),一點誠意都沒有,你會不會做人啊!誠懇一點,才會有人幫

恩,到此為止,可以說的太多,會說不完
如果你是屬於這幾類的人,要不要改變,隨便你,你改變,進步的是你,不是我,所以要不要改變,是你的問題

不過要是哪天我跨足資訊產業,我會希望,這些人,永遠不要改變,我就少了很多競爭者,畢竟只會問這些問題的人,沒啥競爭力
這樣你的無能,會是我的財富,我才有機會作主管,你就任我擺佈囉!畢竟,有能者任之,是資本主義社會的準則
但是現在,我不是從事資訊產業,所以本人廢話多了點 (我是不會提醒敵人,缺點在哪裡的)


最後
(不針對你,對所有有類似問題的人)

「const定義的常數 和 #define所定義的常數 哪個會比較好?」這句話還是很奇怪,沒有意義

#define 就是 define,是一種巨集,他有他的時空背景,硬要拿來跟 const 比,有如「拿馬車比汽車,那個比較好?」
既然要比較,就要嚴格控制變因與變項,這種開放式的比較,通常只會出現在小學,因為小學生對於邏輯推演的觀念還不甚成熟,無法掌握過多的控制項目,才會有如此簡化的比較語句

所以如果你說汽車比較好,那古人為何不開汽車?而選馬車?呵呵,古時哪裡來的汽車,瞭解了嗎?時空背景(控制變項)不同

所以問這樣的問題,不是 IQ跟小學生一樣,就是不用心

你要比的是時間?還是空間?還是理念?

等你懂得基本,再來發問吧,不然全部重頭跟你說,就可以寫一本書了



===================引 用 Randgris 文 章===================
從你發的文章 是否更說明 你才是真的來鬧場呢? 你自以為IQ高?我就是IQ低才來這討論區問問題的阿

你以為每個人都跟你一樣IQ高 都可以自己一個人看書 就一路順順利利的嗎? 我學程式語言 現實中 根本

沒什麼人可以教我 學校老師也很膚淺 都只是隨意帶過 這種心情你能體會多少呢? 要在這麼有限的時間裡

學這麼多東西 台灣的教育 就只知道 跟你講什麼你就做什麼 這種心情你又能體會多少呢? 我短期不會在版上PO張

這樣你高興了嗎?
===================引 用 syntax 文 章===================
阿,被你抓到一個 IQ 太低的人
一句很粗的話,但很貼切:爛鳥怎可比雞腿

===================引 用 Stallion 文 章===================
這兩個怎麼比?
一個是型態宣告關鍵字,一個是前置處理。
顧名思義 const 僅可宣告型態,而define可以作巨集定義展開,某個型態的另一種「稱呼」等等,看你如何運用而已。
===================引 用 Randgris 文 章===================
請問const 和 #define的差異為何呢? 以及其各個的優缺點??
harpist
資深會員


發表:3
回覆:251
積分:430
註冊:2002-10-03

發送簡訊給我
#9 引用回覆 回覆 發表時間:2007-06-03 21:25:56 IP:59.105.xxx.xxx 未訂閱
Randgris 兄姑且放下情緒,人生其實重要的是分享了什麼學習了什麼?
提出問題一樣是分享一個問題,有人也可能因為這個問題而有所學習。

衷心希望這裡有一個良好的互動探討環境,不要有過多情緒以及攻擊的發言。

syntax 兄您真的太激動的。


===================引 用 Randgris 文 章===================
從你發的文章 是否更說明 你才是真的來鬧場呢? 你自以為IQ高?我就是IQ低才來這討論區問問題的阿

你以為每個人都跟你一樣IQ高 都可以自己一個人看書 就一路順順利利的嗎? 我學程式語言 現實中 根本

沒什麼人可以教我 學校老師也很膚淺 都只是隨意帶過 這種心情你能體會多少呢? 要在這麼有限的時間裡

學這麼多東西 台灣的教育 就只知道 跟你講什麼你就做什麼 這種心情你又能體會多少呢? 我短期不會在版上PO張

這樣你高興了嗎?
===================引 用 syntax 文 章===================
阿,被你抓到一個 IQ 太低的人
一句很粗的話,但很貼切:爛鳥怎可比雞腿

===================引 用 Stallion 文 章===================
這兩個怎麼比?
一個是型態宣告關鍵字,一個是前置處理。
顧名思義 const 僅可宣告型態,而define可以作巨集定義展開,某個型態的另一種「稱呼」等等,看你如何運用而已。
===================引 用 Randgris 文 章===================
請問const 和 #define的差異為何呢? 以及其各個的優缺點??
------
~§~迷時師渡,悟了自渡~§~
暗黑破壞神
版主


發表:9
回覆:2301
積分:1627
註冊:2004-10-04

發送簡訊給我
#10 引用回覆 回覆 發表時間:2007-06-03 22:01:17 IP:61.225.xxx.xxx 未訂閱
好有好的壞處,壞有壞的好處。
什麼叫 #define
什麼叫 const?
一個 #define 可以做那些事?只是定義 PI = 3.1415926?
不止吧。它可以定義成 max(a,b) 這種函數的”代換”巨集。
這個部份 const 就不能做了。
const 的好處是 #define 所”定義”的資料,沒有型別。
對於沒有型別的東西,在除錯上比較不容易。你實際去寫程式就知道了。
一個不良的 compiler 無法適當的跟你說 error 在”原始碼”的那一行。
因為巨集展開後就會錯亂。
這個要你實際去用過才知道。
而 const 是為了要解決這一部份的問題而產生的。
當然 const 在於參數的傳遞,又是另一種看法了

其實,你覺得老師很膚淺????我倒是覺得,如果你能有老師的程度,再來談老師是很膚淺的。
雖然我也是這樣認為。不過,至少我還是一個老師要出新進人員考題時,有疑問會來請教的人。

想問問題,至少也要跟研究科學的方法一樣。
這個在國中生物應該會教過。
如果你的假設都試過都不行,有實機測過,你再來發問,對你會有更大的收穫。
我不介意你問很淺的問題。但是我介意你只是來混。
如果有心,我會下指導棋。
如果沒心,我會很高興,我的價值在幾年後又會再提昇一次。^__^
harpist
資深會員


發表:3
回覆:251
積分:430
註冊:2002-10-03

發送簡訊給我
#11 引用回覆 回覆 發表時間:2007-06-03 22:25:26 IP:59.105.xxx.xxx 未訂閱
沒錯!
好跟壞是相對性的問題,不如中性一點看待。
至於老師膚淺小弟亦不認同,若學生自覺痛苦然怎知師亦難為
何者為師?以何為師?勿需埋怨台灣教育自怨自艾這都無用,
大家都是從這條路走過來的,怎麼走操之在自己。

===================引 用 暗黑破壞神 文 章===================
好有好的壞處,壞有壞的好處。
什麼叫 #define
什麼叫 const?
一個 #define 可以做那些事?只是定義 PI = 3.1415926?
不止吧。它可以定義成 max(a,b) 這種函數的”代換”巨集。
這個部份 const 就不能做了。
const 的好處是 #define 所”定義”的資料,沒有型別。
對於沒有型別的東西,在除錯上比較不容易。你實際去寫程式就知道了。
一個不良的 compiler 無法適當的跟你說 error 在”原始碼”的那一行。
因為巨集展開後就會錯亂。
這個要你實際去用過才知道。
而 const 是為了要解決這一部份的問題而產生的。
當然 const 在於參數的傳遞,又是另一種看法了

其實,你覺得老師很膚淺????我倒是覺得,如果你能有老師的程度,再來談老師是很膚淺的。
雖然我也是這樣認為。不過,至少我還是一個老師要出新進人員考題時,有疑問會來請教的人。

想問問題,至少也要跟研究科學的方法一樣。
這個在國中生物應該會教過。
如果你的假設都試過都不行,有實機測過,你再來發問,對你會有更大的收穫。
我不介意你問很淺的問題。但是我介意你只是來混。
如果有心,我會下指導棋。
如果沒心,我會很高興,我的價值在幾年後又會再提昇一次。^__^
------
~§~迷時師渡,悟了自渡~§~
系統時間:2024-04-26 3:29:40
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!