兩分鐘學會C++
題記
一章
在函式裡static一個變數的效果
在一個類的函式中定義一個變數,累加它。
void paddyfield::StaticValueTest()
{
static int i= 0;
i++;
cout << i << endl;
sleep(1);
}
在主函式中,反覆呼叫這個函式,會怎樣?
int main()
{
paddyfield pad;
pad = paddyfield();
for (int i = 0; i < 100; i ++) {
pad.StaticValueTest();
}
}
結果:
Finished building target: paddyfield
1
2
3
4
5
6
解釋:
區域性靜態變數:
在區域性變數之前加上關鍵字static,區域性變數就成為一個區域性靜態變數。
記憶體中的位置:靜態儲存區
初始化:未經初始化的全域性靜態變數會被自動初始化為0(自動物件的值是任意的,除非他被顯式初始化);
作用域:作用域仍為區域性作用域,當定義它的函式或者語句塊結束的時候,作用域結束。但是當局部靜態變數離開作用域後,並沒有銷燬,而是仍然駐留在記憶體當中,只不過我們不能再對它進行訪問,直到該函式再次被呼叫,並且值不變;
參考文件:
二章
關於snprintf這樣函式的一些瞭解
1、這類函式複製的字元個數一般是你輸入空間大小-1
vsnprintf(src_char, 1024, format, args);
這時只會複製1023個字元。自動保證以‘\0’
結尾
2、這裡的函式機理都會涉及vsnprintf這個函式,其中有牽連到可變引數的傳遞。
函式應用:
void straddstr(string &src, const char *format, ...)
{
va_list args;
va_start(args, format);
char src_char[1024 ] = {0};
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 {\
int _O_RET = OSystem(SIZE, format, ##__VA_ARGS__);\
if (_O_RET<0 || _O_RET==127)\
{ return RET;}\
} while(0)
在巨集裡面的應用可以直接參考上面程式碼。
參考文件:
三章
關於std::find函式
在普通的list
容器裡面,要查詢某個元素,比較麻煩,這是我們用std::find
函式來,就能減低程式碼量。
#include <algorithm>
list<string>::iterator itd;
itd = std::find(lstr.begin(), lstr.end(),"wen");
if (itd != lstr.end()) {
cout << "yes" << endl;
} else {
cout << "no" << endl;
}
相關推薦
兩分鐘學會C++
題記 一章 在函式裡static一個變數的效果 在一個類的函式中定義一個變數,累加它。 void paddyfield::StaticValueTest() { static int i= 0; i++; cout
#兩分鐘學會使用Java Core API提供的兩個“比較”介面
Comparable和Comparator是Java Core API提供的兩個介面。從它們的名字,我們可以告訴他們可能用於以某種方式比較東西。但究竟是什麼,它們之間有什麼區別?以下是回答此問題的兩個示例。這些簡單的例子比較了兩個HDTV的尺寸。閱讀程式碼後,如何使用Comparable vs Co
【公眾號系列】兩分鐘學會SAP F1技巧
origin 根據 http 想要 www. 繼續 內容 應該 logs 公眾號:SAP Technical 本文作者:matinal 原文出處:http://www.cnblogs.com/SAPmatinal/ 原文鏈接:【公眾號系列】兩分鐘學會SAP F1技巧
[一分鐘學會系列之一] 一分鐘學會C++呼叫WebService
一分鐘學會系列,介紹一些易學的程式設計小技巧等,沒有深度,但是很實用。1. WebService 簡介Web Service即線上應用服務,可以通過Internet來訪問並使用其提供的介面。Web Service可以看作是跨平臺,跨語言的網路API。構建和使用We
兩分鐘學會Unity3D布娃娃的使用
ear water ria 要去 原創文章 load fbx view 好的 版權聲明:本文為博主原創文章,未經博主同意
30分鐘學會Objective-C
> 注: 本文首發於我的個人部落格:https://evilpan.com/2019/04/05/objc-basics/ 請原諒我的標題黨。但是如果你有其他語言的學習經驗,要學習**Objective-C**的語法特性其實並不困難。正如我之前在[軟體開發的一些"心法"][1]一文中所說,程式語言只是一個工
三分鐘學會用SpringMVC搭建最小系統(超詳細)
springmvc+mybatis dubbo+zookeeper restful redis分布式緩存 kafka 前言做 Java Web 開發的你,一定聽說過SpringMVC的大名,作為現在運用最廣泛的Java框架,它到目前為止依然保持著強大的活力和廣泛的用戶群。本文介紹如何用ecli
30分鐘學會如何使用Shiro
springmvc+mybatis dubbo+zookeeper restful redis分布式緩存 shiro kafka 一、架構要學習如何使用Shiro必須先從它的架構談起,作為一款安全框架Shiro的設計相當精妙。Shiro的應用不依賴任何容器,它也可以在JavaSE下使用。但
android 加密手機完畢後待機兩分鐘出現有頻率的雜音
加密 tin ger 詳細 pps 主動 oid per 手機 這個音效是code裏面主動加的,是為了提醒end user輸入PIN的一個提示音,也標誌著加密手機動作的完畢。 詳細位置是在alps\packages\apps\Settings\src\com\andro
一分鐘學會dwg轉jpg格式
cad編輯器 說到dwg文件轉為JPG格式,我們必須要利用到迅捷cad編輯器軟件,因為這款軟件功能的強大超出你的想象,下面就來一起看一下這款軟件將dwg文件轉為JPG格式的具體操作步驟吧。 CAD編輯器下載http://www.downxia.com/downinfo/132480.html 1
Android零基礎入門第30節:兩分鐘掌握FrameLayout幀布局
控制 toggle b2b 遮擋 布局 edittext 文章 manage .com 原文:Android零基礎入門第30節:兩分鐘掌握FrameLayout幀布局前面學習了線性布局、相對布局、表格布局,那麽本期來學習第四種布局——FrameLayout幀布局。
一分鐘學會 ConstraintLayout 之從屬性角度理解布局
uic mem app tor normal add 部分 pla ray ConstraintLayout 在 Android 開發中,我們通常是手寫布局,很少會用拖動來寫布局,雖然 ConstraintLayout 在 I/O 上以拖動來展現了各種功能
30分鐘學會如何使用Shiro(轉)
字段 col inf lan getc 含義 掌握 ide 包含 本文轉自http://www.cnblogs.com/learnhow/p/5694876.html 感謝作者 本篇內容大多總結自張開濤的《跟我學Shiro》原文地址:http://jinnianshilo
3) 十分鐘學會android--建立第一個APP,建立簡單的用戶界面
使用 圖標 run class 屏幕寬度 情況下 不可見 文本輸入框 nes 在本小節裏,我們將學習如何用 XML 創建一個帶有文本輸入框和按鈕的界面。下一節課將學會使 APP 對按鈕做出響應——按鈕被按下時,文本框裏的內容被發送到另外一個 Acti
8) 十分鐘學會android--Activity的生命周期之停止與重啟
圖標 getc uid contex ont progress 部分 重啟 settings 恰當的停止與重啟我們的activity是很重要的,在activity生命周期中,他們能確保用戶感知到程序的存在並不會丟失他們的進度。在下面一些關鍵的場景中會涉及到停止與重啟:
基於springboot微信公眾號開發,幾分鐘學會微信自動回復
ssa star 點擊 stat html asn document text cit 效果圖 1.準備工作 申請微信訂閱號(個人只能申請訂閱號,而且沒什麽功能,也無法認證),申請完畢,點擊 開發=>基本配置,如下圖: 服務器配置需要有 域名 80端口,我猜
30分鐘學會如何使用Shiro(轉)
dex user false fin hiberna bean overflow getc mis 本篇內容大多總結自張開濤的《跟我學Shiro》原文地址:http://jinnianshilongnian.iteye.com/blog/2018936我並沒有全部看完,只是
小白30分鐘學會網頁采集基礎教程
網頁采集首先,以某個多頁(需要自動翻頁)表格數據的采集為例,先演示一次網頁采集的完整的過程:點擊從頭播放完整動圖演示這裏使用的是八爪魚,依次點擊表格某一行的每個字段,可以自動識別出其他所有數據行,並自動創建循環列表;點擊翻頁按鈕,選擇“循環點擊下一頁”動作,就能自動創建翻頁循環。網頁信息爪取相關的工具有很多,
30分鐘學會iOS 11開發環境xcode 9圖文教程
iOS 11關註微信公眾號【異步圖書】每周送書Xcode是一款功能全面的應用程序,通過此工具可以輕松輸入、編譯、調試並執行Objective-C程序。如果想在Mac上快速開發iOS應用程序,則必須學會使用這個強大的工具的方法。在本文容中,將詳細講解Xcode 9開發工具的基本知識,為讀者步入本書後面知識的學習
【一分鐘學會】網站性能在線評估
訪問 服務 開發 技術 服務器ip 分享圖片 image 下載速度 clas 通過該工具可以多個地點Ping服務器以檢測服務器響應速度,如果輸入域名自動會進行網站響應速度檢測,包括網站解析時間,服務器連接時間,下載速度,http狀態,GZIP情況,文件大小等信息。 打開這個