簡體   English   中英

C ++ 0x實現猜測?

[英]C++0x implementation guesstimates?

C ++ 0x標准即將完成。 到目前為止,我已經涉足了C ++,但是我沒有徹底學習它,因為它似乎缺少了許多我在其他語言中被寵壞的現代功能。 但是,我對C ++ 0x非常感興趣,它解決了很多我的抱怨。 在批准標准之后,對於主要編譯器供應商提供合理完整的,生產質量的實現需要多長時間的任何猜測? 它是否會很快發生,以扭轉C ++受歡迎程度的下降,還是太少,太遲了? 你是否相信C ++ 0x會在幾年內成為“C ++”,或者你是否相信大多數人會在實踐中堅持早期的標准而且C ++ 0x會有點像混蛋的繼子,有點像C99?

我認為沒有理由不采用C ++ 0x。 C ++社區比C語言更具前瞻性.C一直是一種“便攜式匯編語言”,因此使用它的人對花哨的新功能並不是特別感興趣。 C ++的范圍更廣,我還沒有聽說過一個沒有期待0x的C ++程序員。 (這也是我的印象,C ++社區更“嚴格”,並且真的不想超出標准進入未定義的行為,這意味着你選擇C ++ 03或C ++ 0X而不是半實現混合.C程序員往往對此更加放松,並且似乎很樂意使用C89,只有幾個C99功能和標題混合在一起)

但是,至少在微軟趕上之前需要幾年的時間。 Visual Studio 2010中支持的C ++ 0x特性的極少數(lambda表達式,decltype和其他幾個),但絕大多數將被支持。 我們將不得不等待VS2012或者下一個版本的最終版本,以獲得一些完整的支持。

使用GCC / G ++,情況要好得多,因為大部分標准已經在那里實現(標准委員會不喜歡采用尚未在真實編譯器中實現和測試的功能,而GCC分支是常用於此)

但它可能仍需要一些時間來保持穩定和生產准備。

關於C ++的“人氣下降”,我真的沒有看到它。 我認為C ++在過去幾年中的受歡迎程度並不高。 當然,RAD開發人員已經開始使用.NET,Python或其他語言或平台。 但是,在今天使用C ++的地方,沒有太多可行的替代方案,也沒有理由為什么它應該不受歡迎。

我不知道其他廠商,但是從什么見過 ,微軟計划將包括四個在Visual C ++ 2010的C ++ 0x語言特性:

  1. 右值參考
  2. 汽車
  3. lambda表達式
  4. 靜態斷言

雖然這是一小組C ++ 0x功能,但它們很重要。 有些將使程序員能夠編寫更緊湊(auto,lambdas)和無錯代碼。 一些(如rvalue引用)使庫更有效。 微軟喜歡使用lambdas作為並行計算推動者

恕我直言:單獨使用auto會讓使用更多程序員的模板變得更加容易。 希望這將增加對微軟和所有供應商提供的更多C ++ 0x功能的需求。

微軟也將更新他們的C ++標准庫實現,但我不知道細節。 我相信他們正在修改一些容器類以利用rvalue引用移動語義。 我相信他們包括更多的TR1。

一些實現已經在前往C ++ 0x:( gcc )。 我的直覺說C ++ 0x支持將很快在主要編譯器中提供; 但是仍然存在大量必須維護的遺留代碼。

較新版本的gcc已經支持許多C ++ 0x功能: http//gcc.gnu.org/projects/cxx0x.html

Microsoft將在今年晚些時候在Visual Studio 2010中包含C ++ 0x支持(社區技術預覽已經可用)。

我不認為它會很快成為“C ++”,而是某些人會選擇在其代碼中添加新語法的部分內容。

這些天我沒有做太多的C ++,但是我跟他們說話的人要么喜歡它,要么覺得C ++的美麗在於他們得到的控制,如果他們想要一種具有所有這些額外功能的語言,他們就會使用C# / Java的。

暫無
暫無

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

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