タグ

2017年12月1日のブックマーク (2件)

  • 【C++】小数点の桁数を指定する方法と注意点【cout/iostream】

    std::setprecisionマニピュレータ 入出力ストリームで浮動小数点型の桁数を指定したい場合はsetprecisionマニピュレータを使います。<iomanip>ヘッダーをインクルードする必要があります。 // #include <iomanip> std::cout << std::setprecision(2) << 3.141; // "3.1" 第一引数に浮動小数点数出力時の精度を指定することができます。 注意点 桁数として2を指定しましたが、表示される結果は3.14ではなく3.1となります。整数部も桁数に含まれてしまう点に注意してください。 整数部の桁数が指定した桁数以上の場合、小数部は出力されなくなります。 std::cout << std::setprecision(2) << 12.3; // "12" また小数部のゼロ埋めがされない点にも注意が必要です。 std

  • std::string_viewでは値渡しを利用する - yohhoyの日記

    C++1z(C++17)標準ライブラリ提供のstd::string_view*1 を関数パラメータ型で利用する場合、原則として値渡し(pass-by-value)スタイルとすること。 C++14以前でconst string&としていた関数パラメータ型は、ほとんどのケースでstring_viewへと単純置換できる。なお関数プロトタイプでconst string_viewとしてもパラメータ型のトップレベルconst修飾は無視されるため*2、const修飾は関数利用者へは影響しない。string_view型はもともと “読取専用の文字列ビュー” として設計されており、関数実装側にとってもconst修飾のメリットはほぼ無い。 // C++1z(C++17) #include <string_view> // C++14以前 // void process(const std::string& s

    std::string_viewでは値渡しを利用する - yohhoyの日記