原创 深入理解sizeof+C語言數據類型+內存補齊

第一個例子: 01.char* ss = "0123456789"; 02.sizeof(ss) 結果 4 ===》ss是指向字符串常量的字符指針 03.sizeof(*ss) 結果 1 ===》*ss是第一個字符 04.  05.ch

原创 strcmp && strcpy && strlen && strcat 源碼

strcmp 函數簡介   原型:extern int strcmp(const char *s1,const char * s2);         用法: #include <string.h>  功能:比較字符串s1和s2

原创 shell裏面,“%”、“#”

${varible##*string} 從左向右截取最後一個string後的字符串 ${varible#*string}從左向右截取第一個string後的字符串 ${varible%%string*}從右向左截取最後一個string後的字

原创 多線程編程--5種方法實現線程同步

1:用Interlocked系列函數實現線程同步; 2:用CRITICAL_SECTION及其系列函數實現線程同步; 3:用RTL_SRWLOCK及其系列函數實現線程同步; 4:用事件內核對象實現線程同步; 5:用信號量內核對象實現線程同

原创 C++ #if #endif #define #ifdef #ifndef #if defined #if !defined詳解

首先,讓我們先從頭文件開始,在很多頭文件裏,我們會看到這樣的語句   #ifndef _MYHEADFILE_H   #define _MYHEADFILE_H   // .......語句......   #endif // _MYHE

原创 C++處理JSON

一、簡單介紹   JSON 的全稱爲:JavaScript Object Notation,JSON 是用於標記 Javascript 對象的,JSON 官方的解釋爲:JSON 是一種輕量級的數據傳輸格式。 二、第三方庫   jsoncp

原创 C++ 定義適應不同平臺調用不同代碼的方法

        一般是在編譯時指定,比如你在windows編譯,就指定__WINDOWS__宏,所有和windows有關的代碼都被這個宏包圍,於是就會被編譯,而由於__LINUX__沒有定義,所以linux相關的代碼不會被編譯。

原创 strcpy和memcpy的區別

strcpy和memcpy都是標準C庫函數,它們有下面的特點。 strcpy提供了字符串的複製。即strcpy只用於字符串複製,並且它不僅複製字符串內容之外,還會複製字符串的結束符。 已知strcpy函數的原型是:char* strcp

原创 查看linux靜態庫*.a中的函數和文件 拿appro 2a算法庫開刀

查看linux靜態庫*.a中的函數和文件,這對某些時候是非常有用的,比如我現在正在嘗試替換掉appro的2a算法庫,這就需要了解appro的2a結構 windows下 dumpbin /exports libxxx.a linux 下 n

原创 機器學習與數據挖掘網上資源蒐羅

前面我曾經發帖推薦過網上的一些做“圖像處理和計算機視覺的”有料博客資源,原帖地址 圖像處理與機器視覺網絡資源收羅——傾心大放送 http://blog.csdn.net/baimafujinji/article/details/32

原创 C++中 vector、list、deque、set、map的底層實現

stl容器區別: vector list deque set map-底層實現 stl容器區別: vector list deque set map (轉) 在STL中基本容器有: vector、list、deque、s

原创 std::map::erase的用法及陷阱

方法一: [cpp] view plaincopy std::map<std::string, std::string > mapTest;   bool TestVal(const std::string & 

原创 類的static成員函數和const成員函數

static成員的特性    static成員函數沒有this指針。   static成員函數不能被聲明爲const。   static成員函數也不能被聲明爲虛函數。   static成員函數可以直接訪問所屬類的static成員

原创 C++的類型轉換:static_cast、dynamic_cast、reinterpret_cast和const_cast

在C++中,存在類型轉換,通常意味着存在缺陷(並非絕對)。所以,對於類型轉換,有如下幾個原則: (1)儘量避免類型轉換,包括隱式的類型轉換 (2)如果需要類型轉換,儘量使用顯式的類型轉換,在編譯期間轉換 (3)避免使用reinterpr

原创 C/C++基本數據類型所佔字節數

關於這個基本的問題,很早以前就很清楚了,C標準中並沒有具體給出規定那個基本類型應該是多少字節數,而且這個也與機器、OS、編譯器有關,比如同樣是在32bits的操作系統系,VC++的編譯器下int類型爲佔4個字節;而tuborC下則是2個