為了測試判斷字串為空的效率,今天特意做了乙個測試。得出以下結論:
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...