gpt4 book ai didi

c++ - 整数类型之间的转换成本

转载 作者:搜寻专家 更新时间:2023-10-31 00:13:21 24 4
gpt4 key购买 nike

我正在创建一个数学函数的补充库以供我的程序使用,并希望实现 gcd function .我可能最终会频繁使用此功能,因此优化极其重要

我想知道,就优化而言,为不同的整数类型实现多个 gcd 重载是否有任何意义。如图所示:

int gcd(const int lhs, const int rhs);
long gcd(const long lhs, const long rhs);
long long gcd(const long long lhs, const long long rhs);

在整数类型之间转换时是否存在任何固有成本,或者我是否可以只实现 long long 版本并称其为“足够好”?

最佳答案

好吧,首先,您可以将其模板化:

template <typename T>
T gcd(const T lhs, const T rhs);

然后调用gcd<int>(a, b)或者您需要的任何类型,如果您主要关心的只是代码重复。

也就是说,虽然我怀疑整数类型转换是否会出现在分析中,但这是您应该首先以最方便的方式编写的东西,并担心在您实际需要优化它时优化它.

关于c++ - 整数类型之间的转换成本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27241297/

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