11教學 (126)

有沒有人知道C++中的語言特性或技巧,以防止子類在父類中使用特定的方法? class Base{public: bool someGuaranteedResult(){return true;}}; class Child:public Base{public: bool someGuaranteedResult(){return false;/*…
c++ - 比較std:: tr1:: function<>對象
我一直試圖在C++中實現一個C#類事件系統,用tr1函數模板來存儲一個處理事件的函數。 我創建了一個向量,以便多個偵聽器可以附加到這個事件,即: vector< function<void(int)>>listenerList; 我想能夠從列表中刪除一個處理程序,以停止監聽器接收事件。 那麼,我怎樣才能找到這個列表中對應給定的監聽器的條目? 我可以測試列表中的“函數”對像是否指向…
正如我們中許多人所知道的(還有許多人不知道),C++目前正在接受國際標準下一版修訂的最終草案,預計將在近兩年內出版。 草稿和文件目前可從委員會網站上獲得 。 各種各樣的新功能正在被添加,最大的概念和lambda。 有一個非常全面的維基百科文章與許多新功能。 GCC 4.3及更高版本實現了一些C++ 0x功能 。 至於新功能,我真的很喜歡類型特徵(和適當的概念),但我確定的領導是可變模板。…
可能重複: C++ 0x什麼時候能完成? 什麼是關於C++ 0X的最新消息?(或者我應該說C++ 1X)任何發布日期決定了嗎?…
假設我有Foo和Bar這樣的班級設置: class Foo{public: int x; virtual void printStuff(){std::cout<< x<< std::endl;}}; class Bar:public Foo{public: int y; void printStuff(…
int qempty(){return(f== r ? 1:0);}在上面的代碼片段中,“ ? ”是什麼意思? 我們可以用什麼替代它?…
有一個編譯器對新的C++ 0x有很好的支持嗎? 我使用海灣合作委員會,但不幸的是,目前的4.4版本對新功能的支持很差。…
如何迭代元組(使用C++ 11)? 我嘗試了以下,但這不起作用: for(int i=0; i<std::tuple_size<T...>::value;++i) std::get<i>(my_tuple).do_sth(); 錯誤1:抱歉,未實現:無法將“Listener...”擴展為固定長度的參數列表。 錯誤2:我不能出現在常量表達式中。 那麼,我如何正確迭代元組的元素?…
class Temp{private: ~Temp(){} friend class Final;}; class Final:virtual public Temp{public: void fun(){cout<<"In base";}}; class Derived:public Final{…
C++編譯器自動生成複制構造函數和復制賦值運算符。 為什麼不swap呢? 目前,實現複製賦值運算符的首選方法是複制和交換習慣用法: T& operator=(const T& other){T copy(other); swap(copy); return*this;}( 忽略使用pass-by-value的copy-elision-friendly表單…