C++17中那些值得关注的特性
2019獨角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>
C++17標(biāo)準(zhǔn)在2017上半年已經(jīng)討論確定,正在形成ISO標(biāo)準(zhǔn)文檔,今年晚些時候會正式發(fā)布。本文將介紹最新標(biāo)準(zhǔn)中值得開發(fā)者關(guān)注的新特新和基本用法。
總的來說C++17相比C++11的新特性來說新特性不算多,做了一些小幅改進(jìn)。C++17增加了數(shù)十項新特性,值得關(guān)注的特性大概有下面這些:
- constexpr if
- constexpr lambda
- fold expression
- void_t
- structured binding
- std::apply, std::invoke
- string_view
- parallel STL
- inline variable
剩下的有一些來自于boost庫,比如variant,any、optional和filesystem等特性,string_view其實在boost里也有。還有一些是語法糖,比如if init、deduction guide、guaranteed copy Elision、template、nested namespace、single param static_assert等特性。我接下來會介紹C++17主要的一些特性,介紹它們的基本用法和作用,讓讀者對C++17的新特性有一個基本的了解。
fold expression
C++11增加了一個新特性可變模版參數(shù)(variadic template),它可以接受任意個模版參數(shù)在參數(shù)包中,參數(shù)包是三個點…,它不能直接展開,需要通過一些特殊的方法才能展開,導(dǎo)致在使用的時候有點難度。現(xiàn)在C++17解決了這個問題,讓參數(shù)包的展開變得容易了,Fold expression就是方便展開參數(shù)包的。
轉(zhuǎn)載于:https://my.oschina.net/u/3611008/blog/2413701
總結(jié)
以上是生活随笔為你收集整理的C++17中那些值得关注的特性的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 点赞模块设计 - Redis缓存 + 定
- 下一篇: Java之品优购课程讲义_day19(6