C 14新特性總結

2021-09-17 04:36:25 字數 1446 閱讀 9779

c++14這一繼c++11之後的新的c++標準已經被正式批准,正在向iso提交,將於年內發布。c++之父bjarne stroustrup說道,儘管與c++11相比,c++14的改進「有意做的比較小」,但是仍然為使用者「帶來了極大的方便」,是實現使c++「對新手更為友好」這一目標的步驟之一。

\\ 在c++的時間表中,c++14按計畫是乙個小版本,完成制定c++11標準的剩餘工作,目的是使c++成為一門更清晰、更簡單和更快速的語言。新的語言特性留到了未來的c++17標準中。

\\ c++14的主要特性可以分為三個領域:lambda函式、constexpr和型別推導。

\\\\

c++14的泛型lambda使編寫如下語句成為可能:

\\

\auto lambda = (auto x, auto y) ;
\\

而另一方面,c++11要求lambda引數使用具體的型別宣告,比如:

\\

\auto lambda = (int x, int y) ;
\\

此外,新標準中的std::move函式可用於捕獲lambda表示式中的變數,這是通過移動物件而非複製或引用物件實現的:

\\

\std::unique_ptr ptr(new int(10));\auto lambda = [value = std::move(ptr)] ;
\\\\

在c++11中,使用constexpr宣告的函式可以在編譯時執行,生成乙個值,用在需要常量表示式的地方,比如作為初始化模板的整形引數。c++11的constexpr函式只能包含乙個表示式,c++14放鬆了這些限制,支援諸如if 和switch等條件語句,支援迴圈,其中包括基於區間(range)的for 迴圈。

\\\\

c++11僅支援lambda函式的型別推導,c++14對其加以擴充套件,支援所有函式的返回型別推導:

\\ auto deducedreturntypefunction();

\\ 因為c++14是強型別語言,有些限制需要考慮:\\

c++14帶來的另乙個型別推導方面的改進是decltype(auto)語法,它支援使用與auto同樣的機制計算給定表示式的型別。auto和 decltype在c++11中就已經出現了,但是它們在推導型別時使用了不同的機制,這可能會產生不同的結果。

\\ c++14中的其他改變包括可以宣告變數模板,支援使用0b或0b字首來宣告二進位制字面常量。infoq已經介紹過c++14中可能破壞c++11程式的其他小型修改。

\\ 主流c++編譯器對新語言特性的支援正在有條不紊地開發:clang「完全實現了當前草案的所有內容」;gcc和visual studio也對c++14的新特性提供了一些支援。

\\檢視英文原文:c++14 is here: summary of new features

C 14新特性總結

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!c 14這一繼c 11之後的新的c 標準已經被正式批准,正在向iso提交,將於年內發布。c 之父bjarne stroustrup說道,儘管與c 11相比,c 14的改進 有意做的比較小 但是仍然為使用者 帶來了極大的方便 是實現使c 對新手更為友...

C 14 新特性總結

自 c 14 這一繼c 11 之後的新的 c 標準已經被正式批准,正在向 iso 提交,將於年內發布。c 之父 bjarne stroustrup 說道,儘管與c 11 相比,c 14 的改進 有意做的比較小 但是仍然為使用者 帶來了極大的方便 是實現使c 對新手更為友好 這一目標的步驟之一。在 c...

c 14新特性 C型與D型斷路器區別

斷路器的c特性適用於感性負荷和高感照明系統的線路保護 斷路器的d特性適用於高感性負荷和有較大衝擊電流的供配電線路保護 兩者最大的差別是對 較大衝擊電流 的抗衝擊能力。通俗的說就是c適用於照明,d適用於動力。c型和d型脫扣器的區別是他們的瞬時脫扣電流值不一樣 即額定電流ie的倍數 所以說選擇c型脫扣器...