c++中-1和a.length()哪个大?(a是string类型),该如何处理

c++中-1和a.length()哪个大?(a是string类型)
今天编了个小程序,发现若-1和a.length()比较大小竟是-1大其中string a="ajgmpjg"; 后用a.size()试是同样的效果,但若事先定义int b=a.length()再用b和-1比较就正常了 为什么呢?求高手指点…

------解决方案--------------------
LZ问的技术问题,却发在非技术区实在太不厚道了,哈哈