兩分鐘學會C

2021-08-21 07:26:27 字數 1639 閱讀 9033

兩分鐘能學會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...