C++ 如何为“setw”、“setprecision”、“left”、“right”、“fixed”和“scentific”使用较短的名称?
我希望在我的代码中使用这些STL函数,但由于使用次数太多,它们的存在使得代码的可读性变得很麻烦。有什么方法可以为这些命令定义“别名”吗?I操作器是函数,对于大多数操作器,您可以很容易地获得函数指针(实际上我没有检查,但例如有几个重载或函数模板,这会使操作变得不那么容易):C++ 如何为“setw”、“setprecision”、“left”、“right”、“fixed”和“scentific”使用较短的名称?,c++,stl,alias,fixed,setw,C++,Stl,Alias,Fixed,Setw,我希望在我的代码中使用这些STL函数,但由于使用次数太多,它们的存在使得代码的可读性变得很麻烦。有什么方法可以为这些命令定义“别名”吗?I操作器是函数,对于大多数操作器,您可以很容易地获得函数指针(实际上我没有检查,但例如有几个重载或函数模板,这会使操作变得不那么容易): 读者C++代码用于函数,他们知道在哪里查找它们的实现和 MyOfFangyyPosix(42)< /C>不混淆,而 STD::CUT这些名字有4个字符长,人们怎么知道什么是代码> STD::CUT可读性是非常主观的。我建议你不
<>读者C++代码用于函数,他们知道在哪里查找它们的实现和<代码> MyOfFangyyPosix(42)< /C>不混淆,而<代码> STD::CUT这些名字有4个字符长,人们怎么知道什么是代码> STD::CUT可读性是非常主观的。我建议你不要再提这个问题了。我同意Caleth的观点,即引入更短的名称或通常引入读者不熟悉的别名(而读者确实知道
setw
,setprecision
等)会导致代码不可读,而不是可读。然而,问题归结为“如何获得IOManipulator的别名?”我们不需要输入基于意见的可读性来回答这个问题。您意图的问题是最终结果将是只有您才能阅读的代码。这只在你需要别人帮助你的代码之前有效。他们将无法阅读并帮助你。将别名定义放在文件顶部不会有帮助。视觉识别对于快速分析代码段至关重要。有经验的开发人员很难识别标准的库名,如果他们只看到一个<代码> W>代码>或<代码> s >代码,就不能帮助你。如果你需要做很多格式化,就考虑使用。若你们并没有使用C++20,那个么看看它是否可以工作或者查找一些格式化库。
#include <iostream>
#include <iomanip>
int main(){
auto confu = std::setw;
auto sing = std::setprecision;
std::cout << confu(42) << sing(3) << 42;
}
my_fancy_print(42);