寫**時遇到vector的size比較,**片擷取修改如下
#include
#include
using
namespace std;
intmain()
;int x = a.
size()
-4;if
(0<= a.
size()
-4)}
上述過程本不應執行,因為照我們理解
a.size()-4=-1
0>-1
if不成立,則不執行
而實際上a.size()-4不是-1
#include
#include
using
namespace std;
intmain()
;int x = a.
size()
-4;if
(0<= a.
size()
-4)}
結果為4294967295
因為a.size()的預設儲存形式不是int,而是unsigned int, int為短整型,即有正負數之分,而a.size()不可能為負數,定義成了無符號短整型。所以當求a.size()-4時,預設資料格式跟隨,發生下溢。即4294967295
要正常求得a.size()-4時,只需加上
int x = a.size() - 4;
強制型別轉換
即
#include
#include
using
namespace std;
intmain()
;int x = a.
size()
-4;if
(0<= x)
}
可以看到現在過程不執行了 javascript之踩坑記錄
console.log true console.log false 這個坑在於js裡的 和 的區別。1 對於string,number等基礎型別,和 是有區別的 1 不同型別間比較,之比較 轉化成同一型別後的值 看 值 是否相等,如果型別不同,其結果就是不等 2 同型別比較,直接進行 值 比較,兩...
SpringCloud之試探踩坑
一直rpc呼叫都是使用dubbo介面,近來微服務比較火?開始使用springcloud的介面,使用 feignclient的呼叫方式。註冊中心eureka,用於服務註冊和發現。介面呼叫的實質就是restful介面,通過spring內部封裝的httpclient方式請求呼叫。資料傳遞使用json格式,...
C 踩坑 模板類
在學習資料結構c 實現的時候,踩中了c 的乙個坑,如下 template class search int bisearch return 1 private st tar k key 模板類search的成員函式只能定義在.h檔案中,無法在.cpp檔案中定義,定義則會報錯 error lnk201...