添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
相关文章推荐
神勇威武的猴子  ·  规划信息公开·  2 月前    · 
打酱油的槟榔  ·  Process child = ...·  5 月前    · 
火星上的蚂蚁  ·  An Optimized ...·  6 月前    · 
安静的自行车  ·  Traefik RedirectRegex ...·  9 月前    · 

namespace std::numbers {
  template <class T>
  inline constexpr T pi_v = unspecified;     // (1)
  template <floating_point T>
  inline constexpr T pi_v<T> = see below;    // (2)
  inline constexpr double pi = pi_v<double>; // (3)

円周率πを表す定数。

  • (1) : プライマリーテンプレート。これをインスタンス化するとプログラムは不適格となる
  • (2) : 任意の浮動小数点数型Tに対する定数定義。標準で定義される浮動小数点数型ごとの精度に応じた定数が定義される
  • (3) : double型に対する定数定義
  • #include <iostream>
    #include <numbers>
    #include <cmath>
    int main()
      // double型定数
      double a = std::numbers::pi;
      std::cout << a << std::endl;
      // 任意の浮動小数点数型の定数
      float b = std::numbers::pi_v<float>;
      std::cout << b << std::endl;
      // 動的に計算する
      double c = std::acos(-1.0);
      std::cout << c << std::endl;
    

    3.14159
    3.14159
    3.14159
    

    バージョン

  • C++20
  • Clang: 11
  • GCC: 10.1
  • Visual C++: 2019 Update 5
  •