[問題] 宣告成員變數疑問

看板C_and_CPP (C/C++)作者 (1+1≠2)時間14年前 (2012/04/14 21:32), 編輯推噓0(008)
留言8則, 2人參與, 最新討論串1/1
大家晚安,也許是我寫程式的經驗不夠豐富 以往在java或是C#宣告成員變數時,總是能夠當下就判斷宣告成什麼 例如:字串就是string 正整數就int 字元就是char 但是,剛踏進C++的領域,在宣告時總會停頓一下 不曉得字串該宣告成CString 還是string 宣告某個按鈕時,不曉得要宣告成 CButton *m_BtnX; 還是 CButton m_BtnX; 想請問一下,大家在宣告時,通常會如何取則該宣告成哪種類型呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 125.229.127.153

04/14 21:45, , 1F
是不是指標比較容易想,看有沒有動態更換的需求
04/14 21:45, 1F

04/14 21:45, , 2F
指標的好處就是可以在需要的時候產生,不需要的時候刪除
04/14 21:45, 2F

04/14 21:47, , 3F
能不用指標就不要用...
04/14 21:47, 3F

04/14 21:48, , 4F
至於CString與std::string,可以想想這些程式是否會在其
04/14 21:48, 4F

04/14 21:48, , 5F
他地方重覆使用,特別是非MFC的環境,是的話就用std
04/14 21:48, 5F

04/14 21:49, , 6F
如果不會在非MFC的地方用,那我就會選擇CString
04/14 21:49, 6F

04/14 21:50, , 7F
CString把寬字元的細節隱藏起來,std::string較麻煩些
04/14 21:50, 7F

04/14 21:51, , 8F
有些WinAPI要吃寬字元的參數,餵std::string可能會有問題
04/14 21:51, 8F
文章代碼(AID): #1FYNnIPv (C_and_CPP)
文章代碼(AID): #1FYNnIPv (C_and_CPP)