gpt4 book ai didi

c++ - 接受字符串和整数的可变参数函数,格式化后者并连接所有?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:59:10 26 4
gpt4 key购买 nike

我正在尝试在此 question 中使用 DanielKO 的答案满足我的需要,但我不熟悉模板和可变参数函数,而且我不知道该怎么做。

我需要的是一个可变的 c++(11) 函数,我可以这样调用它:

 String NewMsg = CreateMessage("SET",16,1,17,0,"RED",47);

并设置 NewMsg= "SET,0010,0001,0011,0000,RED,002F"。

我什至不知道应该在参数之间添加逗号的位置。接着:我如何在解析 args 时区分整数和字符串,以便将每个整数格式化为十六进制字符串?

最佳答案

你使用递归和函数重载

std::string CreateMessage(int i)
{
return /* i formatted as hex */;
}

std::string CreateMessage(const char* s)
{
return s;
}

template<typename T, typename... Ts>
std::string CreateMessage(T t, Ts... ts)
{
return CreateMessage(t) + "," + CreateMessage(ts...);
}

关于c++ - 接受字符串和整数的可变参数函数,格式化后者并连接所有?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54404593/

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