unsigned char的范圍是0~255,在用cout輸出的時候要顯示數字的話記得進行int的強制轉化才可以,否則都是輸出的字符,除此之外的所有比較轉換成整數在做比較吧
除此之外,在最近的項目里由於多次運用動態內存分配,代碼運用了兩種分配方式簡單說一下。
無論兩者是服從什么標准的,用new進行分配就不用事先乘以sizeof了,但是如果用malloc來進行分配的話要乘上sizeof的,之前沒有按照這個准則來做,在malloc分配的時候我們用unsigned char來分配沒有乘以sizeof也通過了,是因為sizeof(unsigned char)恰恰是1,所以碰巧避過了這個錯誤,所以以后分配內存盡量用new吧,用malloc記得乘sizeof。
vbM->numSamples = new int[vbM->width * vbM->height];//samples vbM->numMatch = (int32_t*)malloc(vbM->width * vbM->height * vbM->nSample * sizeof(int32_t));//how many samples match