Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/161.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何为“setw”、“setprecision”、“left”、“right”、“fixed”和“scentific”使用较短的名称?_C++_Stl_Alias_Fixed_Setw - Fatal编程技术网

C++ 如何为“setw”、“setprecision”、“left”、“right”、“fixed”和“scentific”使用较短的名称?

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可读性是非常主观的。我建议你不

我希望在我的代码中使用这些STL函数,但由于使用次数太多,它们的存在使得代码的可读性变得很麻烦。有什么方法可以为这些命令定义“别名”吗?

I操作器是函数,对于大多数操作器,您可以很容易地获得函数指针(实际上我没有检查,但例如有几个重载或函数模板,这会使操作变得不那么容易):


<>读者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);