gpt4 book ai didi

c++ - 如何将 3 个变量合并为 1 个变量

转载 作者:行者123 更新时间:2023-11-30 20:43:51 25 4
gpt4 key购买 nike

我在将 3 个变量合并为一个变量时遇到问题:

示例:

int var1,var2,var3;
int result;
var1 = 1;
var2 = 2;
var3 = 3;

result = ........??;

printf("Result %d",result);

output :
123

我该怎么做?

最佳答案

是的,C++11 可变参数模板太棒了!这是N -无限可扩展版本,假设sum(args) < INT_MAX

template<int max, int ...arguments>
int merge_integers()
{
int args[] = { arguments... };
int size = sizeof(args) / sizeof(int);
int mul = 1;
int result = 0;

for (int i = size; i--; )
{
result += args[i] * mul;
mul *= max;
}

return result;
}

使用示例:

printf("%d\n", merge_integers<10, 5, 4, 3, 2, 1>());
printf("%x\n", merge_integers<16, 0xA, 0xB, 0x1, 0x3, 0x5>());
printf("%o\n", merge_integers<8, 1, 2, 3, 4, 7>());

输出:

54321ab13512347

关于c++ - 如何将 3 个变量合并为 1 个变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12801700/

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