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

假设我想重载operator< 类模板.我如何打印“缺席值”,我将如何打印“真正的价值”x?

none
some x

要么

[]
[x]

或者我应该在第一种情况下打印什么,而在第二种情况下打印x?这通常如何处理?

最佳答案 我喜欢print None和Some x的选项.我认为这会立即描述正在发生的事情(特别是熟悉Haskell的人).

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

点赞