1樓:
第一句是定義了指向類 Connection 中 void* 型別的成員的指標型別 RestrictedBool。關於指向類資料成員的指標:pointer to data member。
指向類資料成員的指標,和我們一般說的指標很不相同,比如不能被 delete(這一點和用它來做 safe bool 有關)
structA;
intmain
()』 argument given to 『delete』, expected pointer
return0;
}第二句,一開始我不懂為什麼要這樣寫。根據 @d41d8c 的回答,我搜了一下 safe bool idiom,找到一篇寫的很詳細的文章:管清文:
The Safe Bool Idiom,才明白了這樣寫的意義。雖然文章中的 safe bool idiom 方案是返回指向成員函式的指標(pointer to member function),和這裡返回指向類成員的指標不同,但不妨礙理解。
P.S. 在今天刷到這個問題之前,我都不知道指向類資料成員的指標能拿來幹嗎,原來還有這種操作,奇怪的知識增加了.jpg。
2樓:鹹蛋
先把className去掉
再加上現在這個型別必須和className::*即成員指標一致
即乙個className類內的void*型別
3樓:猴子
這是typedef的一種寫法而已。
常見的寫法會是`typedef int myint`。將`int`重新定義為`myint`。那如果你要重新定義的型別或者名稱沒有定義過了?這時就可以使用題目中的這種方式定義。
在這裡`SymbolName`就是你重新定義的名稱,它是乙個屬於`classname`類下的、返回`void*`的方法(函式)指標。
4樓:趙天宇
C++typedef的詳細用法 - 風雪之殤 - 部落格園那麼思考,你的這個代表的是:
等價於宣告:
void
*operator
Connection
::*RestrictedBool
()const
;我自己也不太確定,思考僅供參考。
個人覺得就是簡化定義了操作符的函式定義方式。
怎樣形象理解碼元?
函虎垃圾處理器 問下曼徹斯特編碼這張圖 最左邊0 乙個電平公升高變化 00的話之間怎麼又下降了?01 10的話就沒問題 代表乙個碼元代表一bit 0是指公升電平?不是有電才計1嗎? 乙個碼元 數碼訊號 矩形脈衝 or 模擬訊號 n個正余弦週期 n 1 4進製信號碼元表示 雙極性的二進位制數字基帶信號...
我應該文轉理嗎
豆豆 理科轉文科比較容易,文科轉理科除非你真的邏輯思維很厲害,就拿數學來說文理科難度不在乙個層次,還別說物理化學,有機化學就能搞死一大批人。我就是高三理科轉文科的,全校那一屆就我乙個,謝天謝地我考上大學了。 鶴影 福建高二理科女 說實話,不建議轉。你落的太多了。數學,你要再多學乙個空間直角座標系,微...
應該幫親不幫理,還是幫理不幫親?
cindy 肯定是幫親,如果不是,要親人朋友何用?人類社會從古至今,是群居動物,需要互相幫助才能長久地存活下去,如果身邊人不幫你,結伴有何意義?所謂的幫理不幫親,本質就是不夠親,就那麼簡單。 幫理不幫親,如果真的我的親戚或者朋友出現了嚴重的道德問題或者三觀問題,那他就不配當我的親戚和朋友,為什麼要幫...