簡體   English   中英

我應該根據新的或舊的標准(規范)學習C ++嗎?

[英]Should I learn C++ based on new or old standard (specification)?

好的,我正在考慮在未來幾個月內進入c ++開發(沒有設定日期)。 我模糊地熟悉語言(主要是C),以及OO,MI,模板,異常,模式,使用過的STL的一些基礎知識。 現在我正處於我想深入掌握語言的時間點。 自然的問題是我是否應該
從當前的C ++ 03C ++ 0x標准開始。

鑒於新標准幾乎在這里,並且可能會在未來許多年內保留,請建議從用戶到大師的最佳方式。

謝謝

我的建議是從中間開始。 從C ++ 03開始,但檢查一些編譯器已經經常提供的功能和C ++ 0x庫。 截至目前,C ++ 03是標准(不僅是正式的,但你會發現大多數代碼都是嚴格的C ++ 03)。

現在,如果您打算學習最好:快速開始使用STL基礎知識並立即進入Boost庫。 全程學習模板,閱讀元編程。 現代C ++ 03的使用將使您正確使用C ++ 0x。

學習舊的標准C ++ 03。 即使被批准為標准,C ++ 0X仍然需要幾年時間(至少)。 一旦它被標准化,在任何符合要求的實現出現以支持其所有功能之前需要花費時間,並且在C ++ 0X實現變得非常流行和經常使用之前需要更長的時間。

在我看來,學習C ++ 03更實用。 如果您不介意學習新功能但可以使用partial幾年,那么C ++ 0x會更好。 好消息是g ++新版本和vc ++ 2010已經實現了新的c ++ 0x功能的一部分。

學習新的C ++ 0x特性是深入了解C ++ 03的一個很好的方法,因為你可以看到C ++ 03如何工作,它有什么問題,以及c ++ 0x建議如何解決這些問題。

我最近有這方面的經驗,了解新的右值引用和移動語義。 在C ++ 03中,在表達式中有很多不必要的臨時創建和復制,了解c ++ 03為什么會出現這個問題,以及C ++ 0x如何解決這個問題非常有啟發性,並為我當前的C ++開發提供了信息。

在C ++ 0x編譯器很常見之前的幾年。 所以目前,你沒有太多選擇。 學習C ++ 03,然后在時機成熟時分別學習新東西。 根本差異並不是那么大。 0x主要是用螺栓固定的新功能,現有功能被推廣和簡化。 對C ++ 03的了解仍然適用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM