![]() ![]() |
|
C++基础(size_t的陷阱) | |
作者:佚名 文章来源:不详 点击数 更新时间:2008/10/22 21:34:07 文章录入:杜斌 责任编辑:杜斌 | |
|
|
#include <iostream> using namespace std; int main() { size_t t = 1; int z = -1; if(z < t) { cout << "i'm in" << endl; } cin.get(); } t是size_t类型的,按照道理说这个if条件判断肯定是能进去的,但是因为size_t类型是无符号,int型是有符号,结果就很妖怪的没有进入if里面。结果你会发现,编译器把有符号的z转换成了无符号的z,也就变成了4294967295,这样一来if条件能判断为true才怪!来源:考试大网 |
|
![]() ![]() |