C++17新特性


C++17核心庫文件

    
        P0001R1 棄用register關鍵字
    
    
        P0002R1 bool類型再也不支持++運算符
    
    
        P0012R1 異常成爲類型系統的一部分,第五版
    
    
        P0061R1 支持__has_include
    
    
        P0134R0 引入非靜態成員變量的拷貝構造函數//not sure
    
    
        P0136R1 重寫繼承構造器(core issue 1941 et al)
    
    
        P0160R0 刪除一元運算符的預設值//Wording for removing defaults for unary folds
    


    C++17庫相關文件


    
        P0004R1 棄用過期的iostreams的別名
    
    
        P0006R0 採用基於標準庫規範的類型特徵變量模板
    
    
        P0092R1 優化
    
    
        P0007R1 Constant View:一個::as_const 的輔助函數模板
    
    
        P0156R0 可變的lock_guard (Rev. 3)
    
    
        P0074R0 使std::owner_less更加靈活
    
    
        P0013R1 邏輯運算符類型特徵 (revision 1)
    


    庫基本規範 第二版文件


    
        N4531 替換std::rand,版本三
    
    
        P0013R1 邏輯運算符類型特徵 (revision 1)[C++17投票經過]
    
    
        這些文件將會應用於N4529草案,而後進行擬議草案技術規範的投票。
    


    併發規範


    
        P0159R0 將會做爲併發技術規範發佈,屆時可能稍做改動。
    


    並行規範 v2


    
        N4505草案和P0155R0的」Task Block R5」負責這項工做。
    


    網絡規範


    
        P0112R1草案負責這想工做。
    


    範圍規範


    
        P0021R0草案負責這項工做。
    


    核心主題


    
        1274.常見的非終結符表達式和內嵌初始化列表
    
    
        1391.非推導模板參數到參數類型的轉化
    
    
        1722.lambda函數指針轉換函數應該不例外嗎?
    
    
        1847.部分排序時聲明一致性
    
    
        1863.拋出對象的類型應該支持std::current_exception()
    
    
        1949.」sequenced after」代替」sequenced before」
    
    
        1975.容許聲明異常類型
    
    
        1981.隱式和顯式的上下文轉換
    
    
        1990.decl-specifier-seq形成的歧義
    
    
        2000.#include以外的頭文件名稱
    
    
        2004.常亮表達式中有可變成員的變量
    
    
        2006.Cv-qualified的void類型
    
    
        2015.虛函數的odr-use
    
    
        2016.類型轉換函數的描述中可能存在的歧義
    
    
        2019.存儲時間描述中成員引用的省略
    
    
        2024.依賴類型和未解包的參數包
    
    
        2026.Zero-initialization和constexpr
    
    
        2027.指定多個alignas的需求不明
    
    
        2031.&&的不兼容
    
    
        2052.模板參數推導vs重載操做符
    
    
        2075.傳遞短初始化列表給數組引用參數
    
    
        2101.對類型和值的依賴的錯誤說明
    
    
        2120.數組做爲標準佈局類的第一個非靜態成員變量
    


    庫主題


    
        1169.num_get不能和strto*徹底兼容
    
    
        2072.緩衝區容量定義不明確
    
    
        2101.一些類型轉換可能產生非預期的類型
    
    
        2111.處理異常時可能調用那些已經刪除的句柄?
    
    
        2119.擴展int類型缺乏哈希函數
    
    
        2127.帶raw_storage_iterator的Move-construction
    
    
        2133.重載逗號迭代器
    
    
        2156.無序容器的reserve(n)保存的是n-1個元素
    
    
        2218.容器如何使用allocator_traits::construct()不夠明確
    
    
        2219.INVOKE-ing一個帶有reference_wrapper的指針做爲對象表達式
    
    
        2224.不活躍對象的狀態問題
    
    
        2234.assert()應該容許在常亮表達式中使用
    
    
        2244.關於basic_istream::seekg的issue
    
    
        2250.Library Issue 2207中的Follow-up
    
    
        2259.17.6.5.5規則中有關成員函數的問題
    
    
        2273.regex_match的歧義
    
    
        2336.is_trivially_constructible/is_trivially_assignable結果永遠是false
    
    
        2353.std::next限制過分
    
    
        2367.pair和tuple無參數時不兼容is_constructible
    
    
        2380.<cstdlib>應該提供long ::abs(long) 和long long ::abs(long long)嗎?
    
    
        2384.分配器的解除函數須要更好的規範
    
    
        2385.function::assign分配器參數無心義
    
    
        2435.reference_wrapper::operator()的標記應該是被刪除
    
    
        2447.分配器和volatile-qualified值類型
    
    
        2462.std::ios_base::failure 被過分規範
    
    
        2466.allocator_traits::max_size()默認表現是錯誤的
    
    
        2469.map的[]操做符和unordered_map規則錯誤
    
    
        2473.basic_filebuf對C文件的兼容
    
    
        2476.scoped_allocator_adaptor是不可分配的
    
    
        2477.std::vector::erase()和std::deque::erase()的不一致
    
    
        2483.throw_with_nested()應該使用is_final
    
    
        2484.rethrow_if_nested()是不可實現的
    
    
        2485.常量tuple&&應該重載get()
    
    
        2486.mem_fn()應該提供向前兼容
    
    
        2487.bind()不該該是cv-overloaded, 而應該是const-overloaded
    
    
        2489.mem_fn()應該是noexcept的
    
    
        2492.明確comp的需求
    
    
        2495.沒有相似異常安全元素的東西
    


    Library Fundamentals TS v2 Issues


    
        2494.[fund.ts.v2] ostream_joiner應該是noexcept的
    
    
        2500.[fund.ts.v2] fundts.memory.smartptr.shared.obs/6 應該適用於cv-unqualified void
    
    
        2515.[fund.ts.v2]observer_ptr的肯定操做符不能匹配任何簡介
    
    
        2517.[fund.ts.v2] 兩個propagate_const assignment 操做符返回不正確的類型
    
    
        2526.[fund.ts]experimental::function::swap 條件不正確
    


本原創文章來源:C++技術網 http://www.cjjjs.cn ,閱讀更多原創精品文章,歡迎訪問C++技術網。

ios

相關文章
相關標籤/搜索