__builtin 系列函数

· · 科技·工程

__builtin 系列函数是 GCC 编译器提供的特殊函数,它们通常可以带来性能优化,理论上可以在 NOI 系列赛事上使用。

upd:删除了 __builtin_sqrt() 等函数,这些函数都被标准库的 sqrt() 调用。例如 sqrt() 的函数实现为:

inline _GLIBCXX_CONSTEXPR float
  sqrt(float __x)
  { return __builtin_sqrtf(__x); }

由于 inline 的自动展开,所以调用 sqrt()__builtin_sqrtf() 没有任何区别。

同样的,还有 __builtin_scanf() 等函数,所以你甚至可以不用 #include 实现 A+B:

main(){int a, b; __builtin_scanf("%d%d", &a, &b); __builtin_printf("%d", a+b);}

位运算相关函数

__builtin 系列函数在后面加上 ll 就可以支持 unsigned long long 了。

这些函数时间复杂度都是 O(1) 的。

程序设计相关函数