以前C++17に関してブログに投稿していたことがあったが気が付けばそれから時はたちすでにC++20が出ていた。
そして次のバージョンとしてC++23が
https://cpprefjp.github.io/lang/cpp23.html
C++2bとまだそもそも策定中なので確定はしていないがこれまでも3年周期なので次は2023年であるとのこと。
すでにでているC++20を見がほうがいいとは思うがとりあえずさわりだけでもみておこうと。
目についたところを確認すると機能の非推奨化に
・std::aligned_storage
・std::aligned_union
こんなのあったっけと思っていたがC++11で追加されたもの。
これらの機能は未定義動作を引き起こし、間違った保証が行われ、よくないAPI設計が行われていたため、非推奨となる
さらに詳しく該当のページに理由がありました。
https://cpprefjp.github.io/reference/type_traits/aligned_storage.html
まだ非推奨なので使用はできるようだが使わないことが賢明か。
あとは文字列関連でcontrainsが追加
https://cpprefjp.github.io/reference/string_view/basic_string_view/contains.html
文字列の検索は今までなら
1 2 3 4 5 6 |
std::string_view str = "growth"; if (str.find("ow") == std::string::npos) { // みつからない }else{ // 見つかった } |
こんな感じだったけど
1 2 3 4 5 6 |
std::string_view str = "growth"; if(str.contains("ow")){ // みつかった }else{ // 見つからない } |
こうなると
今のプロジェクトはそもそもC++ではないので今後C++23を触れる機会がでてくるのかまったくわからないが
果たして2023年にはどうなっているだろうか。