→ james732:1. char a1[10]; 只寫這樣的話,裡面是垃圾值 01/09 07:16
→ james732: C string用'\0'判斷字串結束,找不到'\0'就會有問題 01/09 07:17
→ james732: 寫 "" 實際上有放了一個 '\0' 進去 01/09 07:18
→ james732:2. 請看置底文十三戒第四,char *的字串不能修改 01/09 07:18
→ DEATHX:不能弄懂ASCIZ(C風格字串)似乎是初學C\C++必犯的錯。 01/09 10:03
→ bernachom:如果學C++但是不了解C String,是可以接受的事嗎@@? 01/09 20:41
→ diabloevagto:我是覺得還ok的,不過有知道總是加分的 01/09 21:03
→ james732:如果永遠都有類似c++ string class能用就沒差 01/09 21:14
推 littleshan:string literal就是C string,所以還是要懂 01/09 22:59
→ bernachom:之前看書上寫說,C++能不用C string就不用..Q_Q 01/10 00:14
→ bernachom:果然是個麻煩的東西.. 01/10 00:15
→ james732:是很麻煩,但很難完全不使用啊...XD 01/10 00:17
→ james732:在純C的環境如果不了解C string的話更是容易踩到雷 01/10 00:32
→ bernachom:請教一下,在C++中,有沒有是C++string不能取代Cstring 01/10 00:49
→ bernachom:的呢? 謝謝 01/10 00:50
→ james732:fstream檔案系列的類別,open都要吃const char * 01/10 00:51
→ james732:其實我不懂為什麼不設計成 open(string &filename, ...) 01/10 00:51
→ bernachom:對耶~~我以為都可以取代@@ 01/10 00:52
→ james732:我之前也這麼想,不過開檔的時候就要用 c_str() 再轉換 01/10 00:55
推 littleshan:用string& filename的話,你傳const char*會引發ctor 01/10 10:38
→ littleshan:然後ctor內要配置記憶體、把C string複製一次 01/10 10:39
→ littleshan:我猜對某些人來說,這段過程他們無法接受 XD 01/10 10:40
推 littleshan:如果C++提供immutable string其實可以減少不必要的複製 01/10 10:45
推 hilorrk:如果我沒記錯 C++11就可以傳string&了 01/10 12:48
→ littleshan:rvalue reference 是另一回事 01/10 14:56
→ hilorrk:不太懂跟rvalue有什麼關係@@? overload const string&會造 01/10 18:54
→ hilorrk:成什麼額外的cost嗎?傳const char*還是會call原本的, 01/10 18:55
→ hilorrk:rvalue也可以轉成const string&吧? 01/10 18:55
推 littleshan:喔我誤會了 你是指fstream::open的參數吧 01/10 22:16