我不知道为什么在比赛中使用这个using i64 = long long;
C++。
使用这个背后的原因是什么?
行
using i64 = long long;
为名为i64
的整数类型long long
创建类型别名。
但是,此别名意味着long long
将是 64 位整数,这并不精确。该标准要求long long
至少为 64 位,如果需要正好64 位,请使用固定宽度的整数类型int64_t
。
这是一个type alias
。从 cpp 参考:
类型别名声明引入了一个名称,该名称可用作由 type-id 表示的类型的同义词。它不会引入新类型,也不能更改现有类型名称的含义。
该行
using i64 = long long;
暗示i64
可能用于引用在作用域内处理using
语句long long
的类型。
但是,正如@churill的回答所阐明的那样,在这种情况下,使用i64
作为long long
的别名具有误导性,应避免使用。
你只需为"long long"类型命名。在您的程序中,每个"i64"都被"长长"类型所取代。您可以使用"long long"而不是"i64",不会有任何区别。