作者allstarschh (allstars)
看板C_and_CPP
標題[問題] 看Stroustrup 的C++後有不懂的問題想請教
時間Sun Mar 15 00:53:55 2009
我看的是Stroustrup的the C++ Programming lang
然後有幾個問題想請教
1.在Chap3 3.11 Advice p.66 裡 第七條
Using string rather than char*
請問即使我對char * 用了簡單的strcat strcpy這些library
會比string 還要來的慢嗎???
或者是可以說明在處理字串時(就ascii就好了)
什麼時候用string,when to use char*呢?
2.在10.2.8 Structurs and Classes的最後 p.235
他講了一句
allowing many access sepcifiers in a class is useful for
machine generated code.
就是他上面有講個例子 public,private可以一直加的
class Data4 {
public :
...
private :
...
public:
...
}
這裡的machine generated code是指什麼?
是某些tool產生出的c++ code還是compile完產生的code
(IR, assembly, or machine code)
為什麼會useful??
3. 在10.4.6.2 Member Constants p249
他說可以initialize a static integral constant member
為什麼只有int 可以 float那些為什麼不行呢???
4.在11.2.3 p265
第一段要結束時他說
it is not possible to define an operator function that
operates exclusively on pointers
這是指什麼意思呢
感謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.136.29.175
→ LPH66:4.指的是不能定義一個 operator 其兩個參數都是指標 03/15 03:53
→ LPH66:即使這兩個指標都是某個 class 的指標也是一樣 03/15 03:54
→ LPH66:1.我猜他的理由是 buffer overflow... 03/15 03:54
推 LPH66:2.也許是指機器生成的 C code 吧 不用一開始就一定要把所有 03/15 03:56
→ LPH66:public/private/protect 的成員都寫在一起 03/15 03:56
→ ilway25:1. string 有記錄長度,在某些狀況會比 strxxx 快 03/15 09:31