C C 字串為空判斷 效率比較

2021-09-30 15:04:47 字數 907 閱讀 1958

為了測試判斷字串為空的效率,今天特意做了乙個測試。得出以下結論:

cstring s = "我是乙個中國人!";

s.getlength() == 0 效率略快於 s.isempty(),但是  s[0] == '\0' 效率比 getlength() 低一倍。

換成 string 又測了一次:

//string s.length() 2730 毫秒

//string s.empty() 2839 毫秒

//string s[0] 5616 毫秒

結論:標準c++的 string 真讓人失望,效率如此低下!!雖然 cstring 受限於mfc,但還是值得首選!

最後又測了一次 char s[24] ="我是乙個中國人!";

用 s[0] == '\0' 僅需時234毫秒,哈哈,還是c語言快啊!

// s.getlength() == 0 效率略快於 s.isempty() 

// s[0] == '\0' 效率比 getlength() 低一倍。

// 10億次迴圈,s[0]需時1529毫秒, s.isempty() 需時 874毫秒, s.getlength() 用時 655 毫秒

dword start = gettickcount();

cstring s = "我是乙個中國人!";

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

double end = gettickcount() - start;

cstring msg;

msg.format("用時:%f", end);

afxmessagebox(msg);

判斷字串為空的幾種方式比較

判斷字串是否為空,一般的做法無非就下列5種,一直有很多人說效率有很大區別,就測試了下 判斷方式 迴圈10000000次所用時間 單位 毫秒 str string.empty 218str.equals string.empty 187str.length 0 70str 140str.equals ...

C 字串為空判斷

字串 字串為空情況有4種,如下 string str1 string str2 string str3 string.empty string str4 null 判斷方法 c 判斷字串的string類的方法有2個,定義如下 摘要 指示指定的字串是 null 還是 system.string.emp...

判斷字串是否為空

判斷字串是否為空是在 android 開發中是最長用的乙個判斷,判斷時也經常會看到有不同的判斷方式,今天專門研究了一下,記錄下來。先定義乙個字串,private string s 這種定義方式是我們學用的方式,那麼這樣定義時在字串時,該怎麼判斷它是不是空呢?來用 驗證一下 if s null els...