C 14 新特性總結

2022-05-10 14:23:08 字數 1387 閱讀 9807

**自: 

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 和型別推導。

lambda 函式

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)] ;
constexpr在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新特性總結

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!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 14新特性 C型與D型斷路器區別

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