疑似标准库bug?
c++吧
全部回复
仅看楼主
level 11
fyb_main2 楼主
疑似标准库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 12
[滑稽]表示double abs(double)
2016年07月16日 08点07分 2
然而手册上说好的int abs(int)呢……结果害我re了一道题……
2016年07月16日 08点07分
http://www.cplusplus.com/reference/cstdlib/abs/?kw=abs 众所周知int abs(int);double fabs(double); ……
2016年07月16日 08点07分
level 13
没 #include <stdlib.h>,所以没提供 int abs(int)。这个说是标准库的 bug 也确实没错。没记错的话标准委员会去年已经决定了解决方法,在 C++17 ,两个头文件都会包含 abs 的所有 6 种重载形式
2016年07月16日 11点07分 4
1