这是某种形式的C ++类型转换吗?

时间:2013-06-01 15:59:50

标签: c++ casting

我正在阅读一些C ++代码,我遇到了这个相当奇怪的行。

这是一行:

if (!k || !n || !m) return min((ll)tot, m*(1LL << n));

1LL 似乎已在此处得到解答:What is 1LL or 2LL in C and C++?

我想知道的是(ll)tot [2小L]究竟是什么;它是某种形式的铸造吗? tot 是一个全局整数变量。

有人可以请教导我,或者直接告诉我一些资源,我可以在这里了解这个(ll)variableName到底是什么。

提前致谢。

1 个答案:

答案 0 :(得分:3)

如前所述,它可能不是11(11),而是ll(双L)。您可以尝试搜索

#define ll long long

在那个代码中:)

它也可以是自定义对象。

class ll { ... };

或简单的typedef别名

typedef long long ll;

(感谢用户提及此解决方案的0x499602D2)