c++ - 是否有打印可选值的约定?

标签 c++ string printing operator-overloading option-type

假设我想重载 operator<<对于 optional<T>类模板。我将如何打印“缺失值”,以及如何打印“真实值”x?

none
some x

[]
[x]

或者我应该为第一种情况和 x 不打印任何内容吗?第二个?这通常是如何处理的?

最佳答案

我喜欢打印 NoneSome x 的选项。我认为这立即描述了正在发生的事情(特别是对于熟悉 Haskell 的人)。

就个人而言,我不会使用 [][x] 替代方案,因为许多语言使用方括号来表示某种列表。如果我看到该输出,我会立即认为打印了一个列表,而不是可选类型。

关于c++ - 是否有打印可选值的约定?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6998036/

相关文章:

c# - 每个打印页面的任何事件?

java - 强制 paintAll() 绘制不可见的 JPanel 及其组件?

html - 如何隐藏滚动条并使内容保持可滚动?

c++ - 在 Visual Studio 2008 下出现 long long int 编译器错误的原因是什么?

C++ 定时进程

c++ - 如何在 Visual Studio C++ 中打印整个表格?

javascript - 使用 jQuery 在网页上突出显示字符串的字符

c++ - 在默认参数上重载方法

c++ - 如何在 STL map 上使用 binary_search

string - 在Delphi中解析包含变量名称的字符串