c++ - 如何将字符串解析为 C++ typename?

标签 c++ performance typename

如何实现 atot() 以便它使用 atof()atoi()atol() 根据类型? 目前它对所有类型都使用 atof():

template<typename T>
T Mtx<T>::atot(const char *s) const
{
    return atof(s);
}

请注意,速度非常重要。

最佳答案

最直接的解决方案是特化:

template<>
double Mtx<double>::atot(const char *s) const
{
    return atof(s);
}

template<>
int Mtx<int>::atot(const char *s) const
{
    return atoi(s);
}

关于c++ - 如何将字符串解析为 C++ typename?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13636629/

相关文章:

c++ - OpenMP 是否将已完成部分的重用线程用于另一个部分?

C# HttpClient 上传速度慢

java - 围绕断言语句的迭代器会影响生产构建的性能吗?

javascript - 通过 Javascript 添加的 HTML 与普通 HTML 标记的性能比较

c++ - 如果我想限制类模板可以接受的类型,是否应该使用模板的显式实例化?

c++ - Visual Studio 中 EOF 之前的 EOF

c++ - 以类名作为键的映射

C++ 条件表达式中的 sizeof( typename T)

c++ - 如何使用 Xenroll 和 CertEnroll 创建在所有版本的窗口上运行的 "Certificate Signing Request"?

c++ - typedef 使用类型名