3
次のコードは、標準規格に従って正しく構成されていますか?ユーザー定義型に依存しないグローバル名前空間の標準定義型の演算子をオーバーロードするには適切な形式ですか?
std::ostream& operator<<(std::ostream& out, std::chrono::system_clock::time_point tp)
{
return out << tp.time_since_epoch().count();
}
これは、標準ライブラリで定義されたテンプレートではなく、名前空間std内で定義されていないので、整形式のようですが、私は私は何かが足りないかもしれません。
私は同意しません。ここに示す例は、名前空間 'std'(または' std'内の名前空間)に定義を追加します。そのため、動作は未定義です。このタイプの例は、他に指定されていないケースには含まれていないので、リンク先のテキストの最初の文(特にセクション17.6.4.2.1パラ1)とは違っています。 – Peter
@Peter 'namespace std {...}'の中に置くだけで、名前空間stdに定義を追加するだけです。 –