【发布时间】:2021-08-16 13:30:24
【问题描述】:
我想在我的代码中使用这些 STL 函数,但是它们的存在多次使代码的可读性变得很麻烦。有没有办法为这些命令定义“别名”?
【问题讨论】:
-
其中一些名称有 4 个字符长,怎么会有人知道
std::cout << w(10) << p(4) << l是什么意思? -
可读性是非常主观的。我建议你把它排除在问题之外。我同意 Caleth 的观点,即引入更短的名称或通常引入读者不常见的别名(虽然读者确实知道
setw、setprecision等)会导致代码不可读而不是可读。然而,问题归结为“如何获得 iomanipulators 的别名?”我们不需要输入基于意见的可读性来回答这个问题。 -
您的意图的问题是最终结果将是只有您可以阅读的代码。这仅在您需要其他人的代码帮助时才有效。他们将无法阅读并帮助您。将别名定义放在文件顶部将无济于事。视觉识别对于快速分析一段代码至关重要。经验丰富的开发人员天生就能够识别标准库名称,如果他们只看到
w或s自己坐在那里,将无法为您提供太多帮助。 -
如果您需要进行大量格式化,请考虑改用
std::format。如果您不使用 C++20,请查看std::printf是否可以使用或查找一些格式库。