close

按此前往C++完整教學目錄

 

 

計時器:

(1)

C++的計時器有許多,在此介紹其中一樣:

標頭檔加入 #include <ctime>  或是 #include<time.h> 

程式碼如:

int j=0;   

clock_t a,b;      //建立clock_t變數(長整數形態)以記錄時間,以毫秒(0.001)為單位

a=clock();     //a程式開始執行本行程式碼被執行時的時間差

for (int i=0;i<100000000;i++){j=i;}

b=clock();    //b程式開始執行本行程式碼被執行時的時間差

cout<<a<<endl;  //顯示46,表示從程式開始執行a=clock();被執行時的時間差為46毫秒

cout<<b<<endl;  //顯示328,表示從程式開始執行b=clock();被執行時的時間差為328毫秒

cout<<double(b)/CLOCKS_PER_SEC<<endl; //顯示0.328CLOCKS_PER_SECC++內建常數,表示經過一秒所要花費的計時單元。由顯示可知,本操作環境系統的CLOCKS_PER_SEC=1000。也就是說,一個計時單元記一毫秒。

 

註一:由b-a可以估計出系統在進行for (int i=0;i<100000000;i++){j=i;}所需的時間

註二:同樣的程式碼,ab的時間與電腦CPU功率有關。

註三:同樣的程式碼,若已經編譯過一次,也無更動編譯器再執行一次,則a可能為0。若該程式是第一次被編譯,a可能大於0。這編譯所花的時間也被算在clock()之內了,若該程式碼已經被編譯過一次且無更動編譯器,則省下了編譯的時間直接執行。每次執行,顯示的時間未必一樣。

註四:a=0不代表時間差為0,應是指時間差遠小於1毫秒。

 

(2)

time_t tt;     //建立time_t變數(長整數形態)以記錄時間。單位為秒。

tt=time(NULL);  //指派tt「從197011000秒」到「現在」的時間差,單位為秒。

cout<<tt;   //顯示1385883695

 

 

上一篇:用typeid查詢變數型態

下一篇:變數型態轉換

arrow
arrow
    創作者介紹
    創作者 埃伯 的頭像
    埃伯

    程式語言教學

    埃伯 發表在 痞客邦 留言(0) 人氣()