Time of Update: 2018-12-07
這篇算是自己的隨想錄吧,反正考試周,寂寞的要死~ 我想說的是:考試周,去你的~ 1. 首先學習標準C. 學習C,當然先從標準C學起了,如果你對標準C模糊的話,那麼請去google吧,實在不行就度娘.直到搞明白為止,要不然 說其他的等於沒說. 標準C學習推薦一本比較好的書 - << c prime plus >>. 個人感覺這本書還不錯. 看完這本書就可以嘗試去了 解一下C標準庫了,同樣有本書推薦 - << c 標準庫 >>
Time of Update: 2018-12-07
前一篇文章中說了SGI STL中的Concepts Check,其實就是利用模板類類執行個體化在編譯期會執行檢查的特性. SGI STL大量運用了Concepts Check,前面已經說過,這裡不再多說.在<<C++ Primer>>中在"模板與泛型程式設計"章節中有講解模板的特化,不再贅述. 模板特化分為兩種: 1. 絕對特化 2. 部分特化 在這片博文中,主要來看一下部分特化.依舊是選用stl_stack.h源碼.template &
Time of Update: 2018-12-07
在SGI STL源碼中,很多時候一些模板類提供預設形參的時候,都會選擇提供deque.template <class _Tp, class _Sequence __STL_DEPENDENT_DEFAULT_TMPL(deque<_Tp>) > // stl_stack.h template <class _Tp, class _Sequence __STL_DEPENDENT_DEFAULT_TMPL(deque&
Time of Update: 2018-12-07
上篇文章中很粗略的角度講解了一下stl_deque的設計思想,以及涉及到得淺顯的STL記憶體管理方面,至少我們看得到的冰山一角. 這篇文章中關於vector的分析,我將將一些問題細化一下,對一些函數做細緻的分析.有些時候,有些問題還是說清楚比較好. 開啟stl_vector的源碼,發現vector的設計思路和stl_deque如出一轍,想想這樣是很合理的,保持實現的一致性.只是stl_vector沒有提供一個確定的模板類Iterator去實現迭代器,而是在vector模板類中實現了迭
Time of Update: 2018-12-07
From: http://blog.ednchina.com/tianlebo/479334/message.aspxextern "C"表示編譯產生的內部符號名使用C約定。C++支援函數重載,而C不支援,兩者的編譯規則也不一樣。函數被C++編譯後在符號庫中的名字與C語言的不同。例如,假設某個函數的原型為:void foo( int x, int y );
Time of Update: 2018-12-07
有點意思的題目。。。解題的關鍵在於, 假設這個數組中負數的個數為N,非負數的個數為M ,N+M=L 。 然後證明的是, 對於有N個負數的數組, 這N個負數可以任意選擇。 這樣題目就變成了求解這個數組進行無限次操作,所能得到最小的負數的個數.然後bfs 直接上。那個性質很好證明。 不說了 C. Yaroslav and Sequencetime limit per test2 secondsmemory limit per test256 megabytesinputstandard
Time of Update: 2018-12-07
接著前面的文章,這篇文章就來說說menory alignment -- 記憶體對齊. 一、為什麼需要記憶體對齊? 無論做什麼事情,我都習慣性的問自己:為什麼我要去做這件事情? 是啊,這可能也是個大家都會去想的問題,因為我們都不能稀裡糊塗的或者。那為什麼需要記憶體對齊呢?這要從cpu的記憶體訪問機制說起. 為了瞭解清楚cpu的記憶體訪問機制,昨天整晚都在尋找資料,但是還是找不到很好的介紹資料.後來只是找到了相關的一些介紹的部落格。
Time of Update: 2018-12-07
這一周沒有寫過部落格,是因為時間被安排來學習C++. 儘管學C很久,但是不得不承認,在C++方面,只能是個小菜鳥~ 今天是第八天了,我在看著sgi stl的源碼. 欣賞著曾讓C++繁榮的經典之作. 為什麼要學習C++ ? 以前我是如此的固執的認為C++是一門很悲劇的語言,因為它夾在C與 JAVA的中間,註定高不就低不行. 只能委身在遊戲領域了~也不知道自己是怎麼改變自己的想法的,可能是因為自己馬上步入大四,就業的壓力來了.
Time of Update: 2018-12-07
思維題,想到就秒殺,沒想到或者想錯方向了那麼就完蛋了0 1 2 3 4 1 2 3 4 0你就會發現是可以的。我經曆了很久錯誤的思維,找到了一些性質1. ai+bi的和一定為一串從(n/2)遞增的序列, 因為所有ai+bi(i從0-n-1)的和為一個固定的數,而得到的ci又要是0-n-1各一次。 所以也同時說明偶數的情況是不可行的。然後稍加組合就可以發現將兩個 0-n-1 的序列錯開相加就可以得到結果。。C. Lucky Permutation Tripletime limit per
Time of Update: 2018-12-07
Programming with pthread? what is Pthread? Pthread,作為C/C++編程的標準線程庫,其實它是POSIX Standard thread library. 那麼,怎麼去理解POSIX標準呢? 下面給一些資料的連結,有興趣的可以自己去查看. 1. http://zh.wikipedia.org/wiki/POSIX 2. standards.ieee.org/findstds/standard/1003.1-2008.html
Time of Update: 2018-12-07
寫在前面: 學C++,到現在是第九天了,所以我只是在理論上對C++有淺顯的認知.對於實際應用,我還沒有實際的經驗.所以接下來對於SGI STL源碼分析的相關文章,更多的就只是針對源碼的直接分析,是沒有關於實際應用情境經驗之談的.所以我們只談源碼,其他不談.
Time of Update: 2018-12-07
前面在介紹push_back函數的時候有說到placement new的用法.前面說的很簡單.這幾天處理一些其他的事情,直到昨天下午才有時間看源碼,順便安靜的看一下書. 其中我又看到了掛關於placement new的介紹,那麼就在文章開始之前先說一下這個問題. placement
Time of Update: 2018-12-07
clearerr(清除檔案流的錯誤旗標) 相關函數 feof表標頭檔 #include<stdio.h> 定義函數 void clearerr(FILE * stream); 函數說明 clearerr()清除參數stream指定的檔案流所使用的錯誤旗標。 傳回值 fclose(關閉檔案) 相關函數 close,fflush,fopen,setbuf 表標頭檔 #include<stdio.h> 定義函數 int fclose(FILE * stream);
Time of Update: 2018-12-07
#if defined (_MSC_VER)#pragma warning(disable: 4786)#endif#include <iostream>#include <map>#include <algorithm>#include <conio.h>int main(int argc, char *argv[]){ /* define a map */ std::map<int, float> _map;
Time of Update: 2018-12-07
C語言有五種基礎資料型別 (Elementary Data Type):字元、整型、單精確度實型、雙精確度實型和空類型。儘管這幾種類型資料的長度和範圍隨處理器的類型和C語言編譯器的實現而異,但以b i t為例,整數與CPU字長相等,一個字元通常為一個位元組,浮點值的確切格式則根據實現而定。對於多數微機,表2 - 1給出了五種資料的長度和範圍。表中的長度和範圍的取值是假定C P U的字長為1 6 b i t。C語言還提供了幾種彙總類型(aggregate
Time of Update: 2018-12-07
/*功能:擷取當前系統時間傳回值:0-成功,-1-失敗out:儲存返回的系統時間,格式由fmt決定fmt:0-返回:yyyy-mm-dd hh24:mi:ss, 1-返回:yyyy-mm-dd, 2-返回:hh24:mi:ss*/int getTime(char *out, int fmt)// 擷取當前系統時間{if(out == NULL)return -1;time_t t;struct tm *tp;t = time(NULL);tp =
Time of Update: 2018-12-07
/*功能:擷取當前系統時間傳回值:0-成功,1-失敗out:儲存返回的系統時間,格式由fmt決定fmt:0-返回:yyyy-mm-dd hh24:mi:ss, 1-返回:yyyy-mm-dd, 2-返回:hh24:mi:ss*/int getTime(char *out, int fmt)// 擷取當前系統時間{if(out == NULL)return -1;time_t t;struct tm *tp;t = time(NULL);tp = localtime(&t);if(fmt
Time of Update: 2018-12-07
轉自:http://blog.csdn.net/lovekatherine/archive/2007/11/06/1868724.aspx [在此向原文作者說聲謝謝!若有讀者看到文章轉載時請寫該轉載地址,不要寫我的BLOG地址。尊重他人的勞動成果 ^_^ ]今天在CSDN的Blog首頁看到一篇文章“也談電腦字元編碼 ”,由於前一陣業餘翻譯了“UTF-8 and Unicode FAQ for
Time of Update: 2018-12-07
#include <stdio.h>#include <windows.h>#define N 50HANDLE hConsole; void gotoxy(int x, int y) { COORD coord; coord.X = x; coord.Y = y; SetConsoleCursorPosition(hConsole, coord); } void main(){int i,j,k;hConsole =
Time of Update: 2018-12-07
From: http://maxim.eefocus.com/xuefu2009/blog/10-03/187348_f456a.html包含檔案:#ifndef __TIME_T#define __TIME_T /* 避免重複定義 time_t */typedef long time_t; /* 時間值time_t 為長整型的別名*/#endif 既