gpt4 book ai didi

c++ - 所有整数类型的函数重载

转载 作者:行者123 更新时间:2023-11-28 00:20:06 25 4
gpt4 key购买 nike

我希望我的方法采用任何整数类型作为输入(uint64_t、int、uint32_t 等)。我是否需要为其中的每一个使用单独的方法声明来重载它?如果它接收到意外类型的固定宽度整数,我担心会发生不好的事情。

string
to_string(uint64_t t)
{
stringstream convert;
convert << t;
return convert.str();
}

string
to_string(uint32_t t)
{
stringstream convert;
convert << t;
return convert.str();
}

string
to_string(int t)
{
stringstream convert;
convert << t;
return convert.str();
}

(我不想使用 C++11 的 to_string 函数)

最佳答案

我不知道你对 std::to_string() 有什么看法,但你可以编写一个模板并在整数类型上启用它:

template <typename T>
typename std::enable_if<
std::is_integral<T>::value,
std::string
>::type to_string(T t)
{
stringstream convert;
convert << t;
return convert.str();
}

关于c++ - 所有整数类型的函数重载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27913869/

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