所有新聞群組討論區列表 風禹科技驗證有限公司 Web News Reader

目前新聞群組:tw.bbs.comp.language

項目 內容
發文者 ..
日期 2011/7/17 上午 12:48:37
標題 Re: [C++]有關string class的pointer要如何initialize
檔頭
220 151849 <56igXa$9aT@ptt.cc> article
Path: netnews!ctu-gate!news.nctu.edu.tw!news.ntu.edu.tw!ptt
From: cgcheng.bbs@ptt.cc (..)
Newsgroups: tw.bbs.comp.language
Subject: Re: [C++]有關string class的pointer要如何initialize
Date: 16 Jul 2011 16:48:37 +0000 (UTC)
Organization: 批踢踢實業
Lines: 33
Message-ID: <56igXa$9aT@ptt.cc>
NNTP-Posting-Host: 140.112.172.1
Mime-Version: 1.0
Content-Type: text/plain; charset=big5
Content-Transfer-Encoding: 8bit
X-Trace: news.ntu.edu.tw 1310837075 40154 140.112.172.1 (16 Jul 2011 17:24:35 GMT)
X-Complaints-To: usenet@news.ntu.edu.tw
NNTP-Posting-Date: Sat, 16 Jul 2011 17:24:35 +0000 (UTC)
X-Filename: Programming/M.1310834772.A.CFC
X-Auth-From: 59.112.207.179
Xref: netnews tw.bbs.comp.language:151849
內文
※ 引述《how.bbs@bbs.csie.ntnu.edu.tw ()》之銘言:
: 請教大家
: 我在讀C++ Primer 第3版的411頁(英文版)時
: 發現了一行指令是有關string class的pointer要initialize
: 寫法是:
: string *pstr_type2(pstr_type); //pstr_type為另一個string class的pointer
: 令我不太了解的地方是pstr_type2本身為一pointer,我個人的看法是應該寫為
: string *pstr_type2 = pstr_type
: 才對,但是上述兩種寫法在Dev C++上執行,結果都正確
: 第一種寫法似乎是呼叫string class的pointer的copy constructor去initialize
: 但是string class的pointer可以這樣做嗎? why?
前面有推文,不過這篇來自外站,可能原波看不到推文
如果是 pointer,我覺得沒啥差

string *pstr_type2(pstr_type) 跟 string *str_type2 = pstr_type 是一樣
的沒錯

不過我想書上寫的可能是 MyObj abc(def),可能類似這樣。跟 MyObj abc = def,
這兩者的確有點不同,比照上一段 pstr_type 的 case,前者是 pointer 的 case,
後者是屬於value 的 case

好比 strcmp(abc,def) 跟 if(abc == def) 這兩個並不相同,一個是 value compare
一個是 pointer compare,pointer 的操作通常是比較有效率一點

c++ 更多的是用 reference,大部分的 case 用 reference 可能綽綽有餘,除了
使用別人的 api lib 之外,自己寫的 function 應該是用 reference 在 function
之間傳遞足夠矣

--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.112.207.179
※ 編輯: cgcheng         來自: 59.112.207.179       (07/17 00:48)

基本條件

.Net 原始碼 | ASP.NET News Reader Beta 0.2.9

請參閱

個人資料 | 發表新文章 | 回覆 | 回信 | 轉寄 | 同標題 | 搜尋 | 列印 預覽 直接

重要訊息通知

2007/06/21 由於微軟新聞伺服器移除多數新聞群組 (newsgroup),目前遭移除之群組暫時改為隱藏純瀏覽,若狀況已定案時,將會將隱藏中的群組重新調整。[討論]