Pebble Coding

ソフトウェアエンジニアによるIT技術、数学の備忘録

C++20で気になる機能

  • 2 つの値の中点を計算する関数が追加された。
  • 浮動小数点型のatomic操作関数が追加された。
  • 円周率の定義が使えるようになった。
  • コンテナにcontains()関数が追加。
  • 2 の累乗数に関する関数が追加された。
  • std::make_shared()に配列サポートが追加された。
  • 定数式での仮想関数呼び出しが可能.
struct IValue {
    virtual int value() const = 0;
};

struct Value : public IValue {
    constexpr int value() const override {
        return 2022;
    }
};


int main(int argc, const char * argv[]) {

    constexpr Value v;
    static_assert(v.value() == 2022);
}
  • std::format
  • コンセプト swiftのprotocol whereに近いことができるようになった。
  • ranges (今の所MSVCのみ対応,clang,GCC非対応)