有沒有辦法確定類型是否是某種容器(可能與begin()
和end()
和end()
和轉發迭代器)在c++98
?我看到this,但它使用c++11
的decltype
。確定類型是否是編譯時在C++中的容器98
也爲每個容器(列表,向量等)進行專門化並不那麼吸引人 - 也許更普遍的東西?
可能重複......我想像這裏曾經是一個常見的問題
編輯:
我覺得this幾乎是我需要什麼,我應該從中刪除tuple
東西,用C++ 98代碼替換std::enable_if
的使用。我現在應該怎麼處理這個問題?保持開放?要麼?如果有人爲我工作,我會很樂意接受他的回答:D
「容器」的定義是什麼? –
我不記得SFINAE基礎是否包含在C++ 98中。如果是這樣的話,應該可以手動將某些東西拼湊在一起,而不是使用罐裝的C++ 1x語言支持模板。美元兌甜甜圈這是MS-Windows相關的。現代Linux上的gcc很長一段時間都有很好的C++ 1x支持。 –
@ M.M不知道......也許有一個'''begin()'''和'''end()'''和轉發迭代器? – onqtam