兩分鐘能學會c++嗎!?
請先閱讀下面的文章,再決定你要不要當程式設計師,或者學習c++!
在乙個類的函式中定義乙個變數,累加它。
void paddyfield::staticvaluetest()
在主函式中,反覆呼叫這個函式,會怎樣?
int main()
}
結果:
finished building target: paddyfield12
3456
區域性靜態變數:
在區域性變數之前加上關鍵字static,區域性變數就成為乙個區域性靜態變數。
記憶體中的位置:靜態儲存區
初始化:未經初始化的全域性靜態變數會被自動初始化為0(自動物件的值是任意的,除非他被顯式初始化);
作用域:作用域仍為區域性作用域,當定義它的函式或者語句塊結束的時候,作用域結束。但是當區域性靜態變數離開作用域後,並沒有銷毀,而是仍然駐留在記憶體當中,只不過我們不能再對它進行訪問,直到該函式再次被呼叫,並且值不變;
1、這類函式複製的字元個數一般是你輸入空間大小-1
vsnprintf(src_char, 1024, format, args);
這時只會複製1023個字元。自動保證以『\0』
結尾
2、這裡的函式機理都會涉及vsnprintf這個函式,其中有牽連到可變引數的傳遞。
函式應用:
void straddstr(string &src, const char *format, ...)
; vsnprintf(src_char, sizeof(src_char), format, args);
src += src_char;
va_end(args);
}
這是乙個標準的可變引數的傳遞與應用。其中關鍵的是
va_list
va_start
va_end
這類va系列的方式,是最常見的可變引數傳遞。
::這裡值得注意的是這些基本都是巨集定義的,你也不能直接對它們進行逐個呼叫,除非你使用va_arg
這個函式,但是這個函式又要求你向它說明可變引數的型別,所以你想實現類似於snprintf的函式,還是直接呼叫vsnprintf這樣現成的函式比較好。
巨集應用:
#define osysrt(ret, size, format, ...) do \
} while(0)
在巨集裡面的應用可以直接參考上面**。
在普通的list
容器裡面,要查詢某個元素,比較麻煩,這是我們用std::find
函式來,就能減低**量。
#include
list
::iterator itd;
itd = std::find(lstr.begin(), lstr.end(),"wen");
if (itd != lstr.end()) else
兩分鐘安裝mysql
mysql 設定mysql客戶端預設字符集 default character set utf8 mysqld 設定3306埠 port 3306 設定mysql的安裝目錄 basedir e mysql mysql 8.0 11 winx64 設定mysql資料庫的資料的存放目錄 datadir ...
XStream兩分鐘教程 譯
兩分鐘教程 這是乙個關於xstream快速的介紹。快速瀏覽一下你會馬上知道把乙個物件轉換到xml或是轉換回來是多麼的簡單。你肯定會碰到下面的問題。建立能夠序列化的類 這是一組簡單的類。xstream能把這些類的例項轉換到xml或是轉換回來。public class person public cla...
XStream兩分鐘教程 譯
兩分鐘教程 這是乙個關於xstream快速的介紹。快速瀏覽一下你會馬上知道把乙個物件轉換到xml或是轉換回來是多麼的簡單。你肯定會碰到下面的問題。建立能夠序列化的類 這是一組簡單的類。xstream能把這些類的例項轉換到xml或是轉換回來。public class person public cla...