gpt4 book ai didi

c++ - 将 setw() 作为变量

转载 作者:太空狗 更新时间:2023-10-29 23:27:34 25 4
gpt4 key购买 nike

我有这个示例代码块:

#include <iostream>
#include <iomanip>
#include <string>
using namespace std;

int main(){
string blank = " ";
cout << "Hello" << blank << "47";
}

我的原始代码中有很多这种类型的 cout。我希望能够将 blank 字符串更改为 setw(2) 函数,而不必在代码中的每个 cout 上用 setw(2) 替换 blank。那么有没有办法将一个cpp函数设置为一个变量呢?所以我可以通过输入名称来调用函数吗?例如:

func blank = setw(2);
cout<< "Hello" << blank << "47";

最佳答案

std::setw(x) 的类型是unspecified ,但您不需要知道。

你可以只使用auto :

auto blank = std::setw(2);

正如@StoryTeller 指出的那样,虽然这应该在合理的实现上工作,但不能保证。

一个更安全的选择是创建一个重载 << 的类:

struct blank_t {} blank;

std::ostream &operator<<(std::ostream &s, blank_t)
{
return s << std::setw(2);
}

关于c++ - 将 setw() 作为变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47250607/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com