Google了很多資訊,也去圖書館借了一些入門的書,描述還是太抽像了,
另外,為什麼會有指標pointer這種東西呢? 將來工作上,那種情況或需求會用到指標呢?謝謝
感謝emeryville的指證,我把 include 補充一下好了。
include 主要是載入外部的標頭檔,這個用法在 C++, ASP 等都有類似的作法。
例如您的程式需要某些功能是其他程式檔已經存在的,就可以把他引用進來,就像你自己的程式碼一樣,一起編譯。
=======================================================
物件導向將一些函式以類別(class)方式呈現,為了避免類別名稱衝突,造成程式中使用上的混淆,同時讓這些類別更容易被引用與查詢,因此加入 namespace 做為區隔。
例如和資料有關的就放在 system.data 底下,和安全有關的就放在 system.security 底下。各個企業為了避免和別人衝突,也可以在名稱空間加入公司的網址,例如臺灣銀行就可以把安全有關的 class 放到 tw.com.bot.security 底下,網路工具部分則可以放到 tw.com.bot.net 底下,例如 ftp 的全名可能就是 tw.com.bot.net.ftp 。
至於 import/using 則表示以下引用的類別是在哪一個名稱空間底下的,例如 import tw.com.bot.net 之後,就可以簡單地宣告
ftp myFtp = new ftp
而不需要 tw.com.bot.net.ftp myFtp = new tw.com.bot.net.ftp
簡單的說,當您在台北市跟人家說仁愛路,其實您可能預設 import/using 了台北市,即使跨了不同行政區,他還是同一條。
但是,如過出了台北市,您如果只講仁愛路,沒有人會知道在哪裡,尤其是高雄
高雄市鳳山區仁愛路
高雄市大寮區仁愛路
高雄市林園區仁愛路
高雄市路竹區仁愛路
高雄市阿蓮區仁愛路
至於指標,這個關係到記憶體配置為題,只要使用到 C++ 都會用到,不過比較新的語言 ,基本上都由 framework 做掉。指標與記憶配置,不是在這裡問就可以得到答案的。
程式這條路很長,加油吧。
==============================================
有的程式語言同時支援 import, include。
這兩者的最大差異主要在於 include 可能會重新編譯, 但是 import 不會重新編譯。
有一些老一點的書籍,口語陳述的時候並不會刻意去區分,還得從前後文去了解是引用外部程式一起編譯,或者只是參考。
本生物已配置全天候戰鬥系統~
手機不通、Skype 離線時,請託夢,或留言!
unl7911 wrote:
另外,為什麼會有指標pointer這種東西呢? 將來工作上,那種情況或需求會用到指標呢?謝謝
指標是一種錯誤的程式語言設計,雖然可以節省一點程式執行時間,卻會製造大量錯誤,跟耗費程式師的大量時間。
新一代的程式語言都取消指標了!
什麼時候會用到我也很好奇?台灣有寫這種分秒必爭的程式的公司?
chunchiahsieh wrote:
沒有指標不會有多型委(恕刪)

Java, C# 都是透過 GC 處理記憶體問題,初學者頂多學到傳值、傳址。連使用委派 delegate 也是一知半解。這也就是為什麼很多用 Java 開發的系統每隔一段時間就要重開機,釋放系統資源。
指標最基本的練習,弄懂以下三段程式碼的意義。
int n = 10;
cout << n << endl;
int *np = &n;
cout << np << endl;
int t = *np;
cout << t << endl;
另外
int a = 10;
myClass obj = new myClass;
記憶體配置有何差別?stack vs. heap 又是什麼?
不搞清楚,怎麼寫系統?
我們公司是台灣一家小不啦嘰的軟體公司,開發的網路通訊軟體就用到很多指標。
我們幫某金融業開發的一套系統,連儲存在記憶體字串都要加密。
本生物已配置全天候戰鬥系統~
手機不通、Skype 離線時,請託夢,或留言!
jeel54321 wrote:
指標是一種錯誤的程式語言設計,雖然可以節省一點程式執行時間,卻會製造大量錯誤,跟耗費程式師的大量時間。
新一代的程式語言都取消指標了!
什麼時候會用到我也很好奇?台灣有寫這種分秒必爭的程式的公司?
雖然很多語言不再用指標,但是只是本質上把它包裝了一下而已,骨子裡不可能脫離指標的,相等兩個物件如果不用指標只能開一個新的物件把原物件內容全部複製到新物件其實反而更花時間,而且兩個物件本身根本不是相等的,只是內容一樣而已,去改動舊物件內容的值並不會自動反映到新物件,以C#來說,物件B等於物件A其實是B物件 reference A物件的指標,有人又要問,既然這樣,那為什麼不直接用A物件來操作就好了,搞一個B物件refer A是為什麼? 如果有一個陣列要把很多A塞進去,每個陣列的單元只要referece 每個A的指標就好了,不用新建一大堆的新物件把每個A的"內容"複製過去,另一個指標的好處就是共用,舉例來說小明是中山國小的學生,也是ABC課輔班的學生,最好的辦法是中山國小和ABC課輔班都referece同一個小明的指標,當下學年度小明長大一歲,這時教育部去查中山國小或ABC課輔班的小明都會大一歲,如果中山國小和ABC課輔班的小明都只是小明的分身而不是小明的指標,要是兩間忘記更新小明的歲數,就會變成實際情況不符
內文搜尋

X