level 11
疑似标准库bug?
#include <cstdio>
#include <cmath>
using namespace std;
int main(){
printf("%d %d %d",sizeof(int),sizeof(double),sizeof(abs(1)));
return 0;
}
c艹 reference上面说是int abs(int),然而这里最后一个数是8?(今天acm一道题坑在了这上面……)
g++版本:5.3.1,不过貌似不只这个版本有这个问题……
2016年07月16日 07点07分
1
level 13
没 #include <stdlib.h>,所以没提供 int abs(int)。这个说是标准库的 bug 也确实没错。没记错的话标准委员会去年已经决定了解决方法,在 C++17 ,两个头文件都会包含 abs 的所有 6 种重载形式
2016年07月16日 11点07分
4