青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
金慶的專欄
C++博客
::
首頁(yè)
::
新隨筆
::
聯(lián)系
::
聚合
::
管理
::
423 隨筆 :: 0 文章 :: 454 評(píng)論 :: 0 Trackbacks
公告
我的隨筆
我的評(píng)論
我參與的隨筆
留言簿
(12)
給我留言
查看公開留言
查看私人留言
隨筆分類
(502)
1. C/C++(166)
(rss)
2. 網(wǎng)游開發(fā)(108)
(rss)
3. Golang(20)
(rss)
4. Linux/Unix(30)
(rss)
5. 軟工與管理(44)
(rss)
6. Python(23)
(rss)
7. Erlang(18)
(rss)
8. Rust(16)
(rss)
9. 其它(77)
(rss)
隨筆檔案
(423)
2023年1月 (1)
2022年11月 (1)
2022年10月 (2)
2022年9月 (1)
2022年4月 (6)
2022年1月 (2)
2021年12月 (4)
2021年11月 (6)
2021年10月 (2)
2021年9月 (2)
2021年8月 (7)
2021年7月 (2)
2021年5月 (2)
2021年3月 (1)
2021年2月 (2)
2021年1月 (1)
2020年12月 (1)
2020年10月 (1)
2020年9月 (5)
2020年8月 (1)
2020年7月 (1)
2020年6月 (1)
2020年4月 (2)
2020年3月 (3)
2020年2月 (3)
2020年1月 (1)
2019年12月 (1)
2019年9月 (2)
2019年4月 (2)
2019年1月 (1)
2018年12月 (1)
2018年11月 (3)
2018年10月 (1)
2018年9月 (3)
2018年8月 (3)
2018年7月 (2)
2018年6月 (4)
2018年5月 (4)
2018年4月 (4)
2018年3月 (1)
2018年1月 (2)
2017年12月 (2)
2017年11月 (3)
2017年10月 (3)
2017年8月 (7)
2017年7月 (1)
2017年6月 (1)
2017年5月 (3)
2017年4月 (3)
2017年3月 (3)
2017年2月 (2)
2017年1月 (2)
2016年12月 (5)
2016年11月 (2)
2016年10月 (2)
2016年9月 (1)
2016年8月 (6)
2016年7月 (3)
2016年6月 (2)
2016年5月 (4)
2016年4月 (2)
2016年3月 (2)
2016年1月 (3)
2015年12月 (2)
2015年11月 (2)
2015年10月 (1)
2015年8月 (2)
2015年7月 (1)
2015年6月 (1)
2015年5月 (4)
2015年4月 (3)
2015年3月 (4)
2015年2月 (5)
2015年1月 (4)
2014年12月 (3)
2014年11月 (3)
2014年10月 (2)
2014年9月 (3)
2014年8月 (1)
2014年4月 (4)
2014年3月 (1)
2014年2月 (4)
2014年1月 (5)
2013年12月 (5)
2013年11月 (5)
2013年9月 (2)
2013年8月 (2)
2013年7月 (2)
2013年6月 (2)
2013年5月 (1)
2013年1月 (2)
2012年12月 (1)
2012年11月 (1)
2012年9月 (1)
2012年8月 (3)
2012年7月 (2)
2012年6月 (1)
2012年4月 (3)
2012年3月 (2)
2012年2月 (3)
2012年1月 (2)
2011年11月 (2)
2011年10月 (3)
2011年9月 (2)
2011年8月 (2)
2011年7月 (3)
2011年6月 (2)
2011年5月 (3)
2011年1月 (2)
2010年12月 (1)
2010年11月 (2)
2010年10月 (2)
2010年9月 (3)
2010年8月 (2)
2010年7月 (3)
2010年6月 (1)
2010年5月 (3)
2010年4月 (3)
2010年3月 (5)
2010年2月 (4)
2010年1月 (4)
2009年12月 (2)
2009年11月 (3)
2009年10月 (4)
2009年9月 (3)
2009年8月 (2)
2009年7月 (4)
2009年6月 (1)
2009年5月 (3)
2009年4月 (4)
2009年3月 (2)
2009年2月 (5)
2009年1月 (1)
2008年12月 (7)
2008年11月 (4)
2008年10月 (1)
2008年9月 (3)
2008年8月 (4)
2008年7月 (3)
2008年6月 (4)
2008年5月 (6)
2008年4月 (7)
2008年3月 (6)
2008年1月 (5)
2007年12月 (7)
2007年11月 (4)
2007年10月 (5)
2007年9月 (6)
2007年8月 (8)
2007年7月 (5)
相冊(cè)
公告照片
搜索
積分與排名
積分 - 660012
排名 - 25
最新評(píng)論
1.?re: boost::asio::spawn 將一統(tǒng)C++網(wǎng)絡(luò)庫(kù)
asio 成為C++首選網(wǎng)絡(luò)庫(kù)
--linda
2.?re: log4cxx中文輸出錯(cuò)誤補(bǔ)丁
評(píng)論內(nèi)容較長(zhǎng),點(diǎn)擊標(biāo)題查看
--金慶
3.?re: mingw編譯OrzNet
能發(fā)送一個(gè)mingw編譯好的OrzNet庫(kù)給我嗎? liuweiqcxy@163.com
謝謝!
--劉威
4.?re: log4cxx中文輸出錯(cuò)誤補(bǔ)丁
評(píng)論內(nèi)容較長(zhǎng),點(diǎn)擊標(biāo)題查看
--bigbad
5.?re: log4cxx中文輸出錯(cuò)誤補(bǔ)丁
評(píng)論內(nèi)容較長(zhǎng),點(diǎn)擊標(biāo)題查看
--bigbad
閱讀排行榜
1.?"multiple definition of" 錯(cuò)誤(11061)
2.?SVN中邪惡的replace(10986)
3.?VS2005編譯libevent(10434)
4.?混音算法的學(xué)習(xí)與研究(10239)
5.?C調(diào)用lua腳本的效率測(cè)試(9020)
評(píng)論排行榜
1.?VC6正在被拋棄(35)
2.?VS2005編譯libevent(21)
3.?"multiple definition of" 錯(cuò)誤(18)
4.?C++引用優(yōu)于指針(17)
5.?ACE與ASIO之間關(guān)于Socket編程的比較(16)
用 (*it).m 還是 it->m
用 (*it).m 還是 it->m
摘自《Extended STL》
標(biāo)準(zhǔn)庫(kù)要求,所有值類型為聚合類型的迭代器必須支持指針成員選取運(yùn)算符(operator ->()),下面是使用該運(yùn)算符的示例代碼:
struct X
{
int x;
};
some_iterator<X> si = . . .
some_iterator<X> si2 = . . .
some_iterator<X> end = . . .
if( end != si &&
end != si2)
{
si->x = si2->x;
}
標(biāo)準(zhǔn)(C++-03: 24.1.1;1)要求,對(duì)一個(gè)迭代器應(yīng)用指針成員選取運(yùn)算符,在語(yǔ)義上等同于先對(duì)其應(yīng)用解引用運(yùn)算符,再應(yīng)用點(diǎn)號(hào)成員選取運(yùn)算符,即it->m與(*it).m等效。
可惜,使用該運(yùn)算符會(huì)遇上麻煩。
假設(shè)我們有一個(gè)容器類型C,它的實(shí)例保存智能指針類型P的實(shí)例,P用于管理對(duì)象生存期。P上定義了一個(gè)release()方法用于提早釋放對(duì)象。進(jìn)一步假設(shè),被P管理的類型T上也定義了一個(gè)release()方法。在下面代碼片斷中,我們希望通過(guò)該容器的迭代器類型I的一個(gè)實(shí)例,調(diào)用T::release()方法:
C cont = . . .
I it = cont.begin();
it->release();
不幸的是,這段代碼調(diào)用的不是T::release()方法,它調(diào)用的是P::release()方法,從而銷毀了T的實(shí)例。當(dāng)我們?cè)俅问褂胏ont這個(gè)容器的時(shí)候,就可能遇到各種奇怪的問題,以下代碼才是真正實(shí)現(xiàn)我們想法的代碼:
C cont = . . .
I it = cont.begin();
it->->release();
可是C++并不支持這樣的語(yǔ)句,且理由充分。(想象一下,如果C++支持這樣的語(yǔ)句,"模糊C++代碼"大賽上,會(huì)有多少參賽代碼,爭(zhēng)著在一條語(yǔ)句中塞進(jìn)最多的operator->()調(diào)用!)
為使C++滿足我們的想法,我們必須放棄成員選取運(yùn)算符而轉(zhuǎn)用解引用運(yùn)算符,就像以下代碼示例中一樣:
C cont = . . .
I it = cont.begin();
(*it)->release();
這是迭代器語(yǔ)法中惱人的小缺點(diǎn)。
在迭代器中支持指針成員選取運(yùn)算符,沒什么實(shí)質(zhì)的意義,而僅僅是語(yǔ)法糖。我認(rèn)為標(biāo)準(zhǔn)中將這規(guī)定為迭代器概念的一個(gè)特性是嚴(yán)重的錯(cuò)誤。在我的日常工作中,除了僅有幾個(gè)特例外,我完全避免使用迭代器的指針成員選取運(yùn)算符,而使用解引用和點(diǎn)號(hào)成員選取運(yùn)算符。我建議你也這么做。
Tip: Prefer iterator dereference and the dot member selection operator ((*it).m) over the pointer member selection operator (it->m).
提示: 使用解引用及點(diǎn)號(hào)成員選擇運(yùn)算符((*it).m)代替指針成員選擇運(yùn)算符(it->m)。
(轉(zhuǎn)載請(qǐng)注明來(lái)源于金慶的專欄)
posted on 2008-04-24 10:16
金慶
閱讀(1979)
評(píng)論(5)
編輯
收藏
引用
所屬分類:
1. C/C++
評(píng)論
#
re: 用 (*it).m 還是 it->m[未登錄]
2008-04-24 11:57
heroboy
it.operator->()->operator->()->Release();
所以,boost里面專門做個(gè)一個(gè)放指針的容器
回復(fù)
更多評(píng)論
#
re: 用 (*it).m 還是 it->m
2008-04-24 17:11
王曉軒
的確是語(yǔ)法糖,為了使迭代器更形似指針而設(shè)的吧~~
回復(fù)
更多評(píng)論
#
re: 用 (*it).m 還是 it->m
2008-05-06 09:11
不懂
我更希望是容器釋放指針
cont.delete(it);
回復(fù)
更多評(píng)論
#
re: 用 (*it).m 還是 it->m
2008-05-18 04:54
批
it->->release(); 這種用法很好么?
(*it)->release(); 這種用法惱人么?
樓主犯昏了吧....
回復(fù)
更多評(píng)論
#
re: 用 (*it).m 還是 it->m[未登錄]
2008-08-27 11:13
raof01
(*it).m;
it->m;
與
(*it)->m;
相同嗎?
回復(fù)
更多評(píng)論
刷新評(píng)論列表
只有注冊(cè)用戶
登錄
后才能發(fā)表評(píng)論。
【推薦】100%開源!大型工業(yè)跨平臺(tái)軟件C++源碼提供,建模,組態(tài)!
相關(guān)文章:
How are dtLinks created in NavMesh
C++ parameter passing rules
Naming Conventions for Accessors
Visual Studio 2019 Compiler Hangs
Fbx File Format Identifier
查找內(nèi)存錯(cuò)誤
std::thread 中的異常會(huì)丟失調(diào)用棧
用賦值代替 protobuf CopyFrom()
vs2017 linux 編譯輸出改成 vs 格式
為 LiteIDE 添加選中標(biāo)記
網(wǎng)站導(dǎo)航:
博客園
IT新聞
BlogJava
博問
Chat2DB
管理
Powered by:
C++博客
Copyright © 金慶
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
欧美aa在线视频
|
亚洲欧洲av一区二区
|
久久一区二区三区四区
|
黄色成人在线网址
|
另类春色校园亚洲
|
麻豆免费精品视频
|
av不卡在线看
|
正在播放欧美一区
|
国产欧美日韩在线观看
|
久久精品夜色噜噜亚洲a∨
|
久久国产主播
|
日韩亚洲精品在线
|
一区二区三区久久
|
国产午夜精品美女视频明星a级
|
久久亚洲捆绑美女
|
欧美精品国产一区
|
欧美在线观看你懂的
|
久久久精品一区二区三区
|
亚洲欧洲精品一区
|
亚洲欧美日韩国产综合精品二区
|
伊人精品在线
|
99精品国产在热久久
|
国产一区二区三区在线观看免费视频
|
久久伊人精品天天
|
欧美视频在线免费
|
母乳一区在线观看
|
国产精品久久久久久亚洲调教
|
久久精品色图
|
欧美视频三区在线播放
|
猛干欧美女孩
|
国产精品久久久一区麻豆最新章节
|
久久久久久久性
|
欧美精品黄色
|
在线观看欧美亚洲
|
一区二区三区视频在线
|
亚洲三级影院
|
久久成人一区
|
欧美亚洲综合久久
|
欧美日韩一区视频
|
亚洲电影av在线
|
国产精品久久久久久久一区探花
|
亚洲第一在线综合在线
|
国产亚洲欧美一区二区
|
亚洲无限av看
|
中文在线一区
|
欧美日本一区二区三区
|
欧美成人激情视频
|
国产午夜一区二区三区
|
亚洲视频999
|
99精品视频一区
|
欧美 日韩 国产精品免费观看
|
欧美综合激情网
|
国产精品伦子伦免费视频
|
最新精品在线
|
亚洲精品久久在线
|
免费短视频成人日韩
|
久久久之久亚州精品露出
|
国产日韩一区二区三区在线
|
一本色道久久综合亚洲精品按摩
|
日韩天堂av
|
欧美精品亚洲二区
|
亚洲精品自在在线观看
|
日韩性生活视频
|
欧美日韩国内
|
99精品视频免费
|
亚洲四色影视在线观看
|
欧美午夜精品久久久久久浪潮
|
日韩视频免费观看
|
在线亚洲一区二区
|
国产精品高潮呻吟久久
|
国产精品99久久久久久宅男
|
亚洲一区二区三
|
国产精品护士白丝一区av
|
亚洲一级黄色av
|
久久国产一区二区
|
1024成人
|
欧美成人免费播放
|
亚洲蜜桃精久久久久久久
|
亚洲一区二区在
|
国产日韩欧美二区
|
久久久久久九九九九
|
亚洲国产精品久久91精品
|
亚洲另类黄色
|
国产精品久久久久久福利一牛影视
|
国产精品久久久久91
|
亚洲一区二区三区三
|
性色一区二区
|
亚洲国内在线
|
国产精品成人一区二区三区吃奶
|
亚洲一卡久久
|
欧美国产第二页
|
中文国产亚洲喷潮
|
国产欧美日韩麻豆91
|
久久久久在线观看
|
日韩视频一区二区在线观看
|
小黄鸭精品密入口导航
|
在线欧美日韩国产
|
国产精品久久久久久五月尺
|
久久精品综合网
|
亚洲免费福利视频
|
久久视频在线看
|
国产精品亚洲成人
|
久热国产精品
|
男同欧美伦乱
|
午夜精品网站
|
伊大人香蕉综合8在线视
|
嫩草影视亚洲
|
午夜久久影院
|
亚洲精品一区二区网址
|
久久精品国产亚洲一区二区三区
|
亚洲精品影视在线观看
|
红桃视频一区
|
国产精品久久久久久av下载红粉
|
老**午夜毛片一区二区三区
|
亚洲色在线视频
|
亚洲国产美女
|
久久欧美肥婆一二区
|
亚洲视频二区
|
亚洲毛片播放
|
在线看国产日韩
|
国产欧美日韩视频在线观看
|
欧美日韩国语
|
欧美精品免费在线
|
鲁大师影院一区二区三区
|
午夜伦欧美伦电影理论片
|
一区二区三区精品国产
|
亚洲伦理在线观看
|
欧美韩国日本一区
|
久久艳片www.17c.com
|
欧美一区成人
|
午夜在线精品偷拍
|
亚洲一区二区影院
|
亚洲一品av免费观看
|
亚洲日本中文字幕区
|
亚洲丰满在线
|
一区视频在线播放
|
精品成人一区二区三区
|
国产一区二区三区网站
|
国模精品娜娜一二三区
|
国产日韩精品一区观看
|
国产美女诱惑一区二区
|
国产精品久久久久久久久久免费
|
亚洲伦理精品
|
亚洲日韩视频
|
99re热这里只有精品免费视频
|
亚洲激情国产
|
亚洲精品小视频
|
亚洲日本中文字幕区
|
日韩一级网站
|
中日韩在线视频
|
亚洲在线第一页
|
亚洲欧美激情精品一区二区
|
亚洲欧美激情四射在线日
|
欧美午夜精品久久久久久人妖
|
欧美日韩岛国
|
国产精品久久久久9999高清
|
国产精品夜夜夜一区二区三区尤
|
国产精品美女久久久久av超清
|
欧美人与禽性xxxxx杂性
|
欧美人妖另类
|
国产精品视频免费观看www
|
国产欧美日韩三级
|
在线看视频不卡
|
一区二区不卡在线视频 午夜欧美不卡在
|
性欧美激情精品
|
久久久久久一区二区三区
|
女仆av观看一区
|
亚洲国产乱码最新视频
|
亚洲国产导航
|
亚洲精品少妇网址
|
亚洲视频在线看
|
欧美一区二区啪啪
|
免费不卡在线观看av
|
亚洲精品自在在线观看
|
亚洲欧美一区在线
|
免费视频一区二区三区在线观看
|
欧美精品久久99久久在免费线
|
国产精品久久久久久久久果冻传媒
|
国产亚洲一区二区三区
|
日韩一二三区视频
|
久久国产66
|
亚洲人成人77777线观看
|
亚洲一卡久久
|
欧美国产91
|
国产三级精品三级
|
99精品国产福利在线观看免费
|
欧美一级片一区
|
亚洲国产婷婷综合在线精品
|
亚洲欧美精品
|
欧美区高清在线
|
国产一区深夜福利
|
在线视频欧美日韩
|
欧美成人四级电影
|
午夜影院日韩
|
欧美日韩成人激情
|
亚洲国产免费看
|
久久av二区
|
一区二区日韩免费看
|
女女同性精品视频
|
在线观看亚洲专区
|