最近cpprefjpに書いたものを列挙します。
assertマクロがconstexpr関数内で使用できるようになったstd::next()関数のイテレータ要件がForward IteratorからInput Iteratorに緩和されたstd::addressof()がconst T&&の引数を禁止にした。addressof<const T>(T())のようにするとconst T&&が指定できていたstd::addressof()がconstexprに対応したstd::mutexとかstd::recursive_mutexのlock()メンバ関数が、device_or_resource_busyのエラーを起こらなくした- 非順序連想コンテナの
reserve()メンバ関数が、C++14までn-1以上の予約していたが、C++17からn以上が予約されるようになった std::shared_ptr<const void>のようなテンプレート引数に対して間接参照演算子が適用できるようになった- タプルの
std::get()関数に、const T&&版を追加。const付きで戻り値を返すと、その一時オブジェクトはconst T&&になっていたため std::atomicクラスのテンプレート引数設定済みの別名として、atomic_uint8_tのような固定幅整数型を追加std::atomicクラスにvalue_typeとdifference_typeを追加。fetch系の関数がTではなくdifference_typeを受け取るよう変更されたstd::numeric_limits::is_moduloの符号あり整数型に対する仕様が変更された。これまでは符号あり整数型がオーバーフローしたときの未定義動作としての最小値に戻る挙動をtrueとして扱っていたのをやめた。規格上は符号あり整数型はfalseで、処理系がオーバーフローしたときの動作をラップして最小値に戻る挙動として定義したときにtrueとなるようにしたstd::vectorとstd::dequeとstd::basic_stringのshrink_to_fit()メンバ関数で、メモリを縮小して再割り当てが発生するときに、イテレータの無効化が起こることが明記された。明記されただけで、元々起こっていただろうstd::basic_stringのコンストラクタに、basic_string(const basic_string& str, size_type pos, const Allocator& a = Allocator());のオーバーロードを追加