2017-08-25 131 views
0

我知道C++概念提案的目的是,除其他外也許,放在模板參數的限制(比如,作爲一個「序列」),對當前形勢的其中任何設法編譯足夠好(和錯誤信息是糟糕的)。可以命名空間(是/滿足a)概念嗎?

但是 - 關於命名空間是什麼?我的意思是,目前我們不能使用它們作爲模板參數,但是人們會認爲如果一個方法只使用靜態方法和一個類的成員,那麼命名空間也應該是一個令人滿意的傳遞給它的東西。 Concepts提案的當前版本/當前版本是否支持?如果沒有,這是考慮和拒絕,或只是沒有考慮?

相關問題:

Is a class with only static methods better than a namespace with only non-member functions?

+6

你不可錯過的命名空間。 – Yakk

+0

@Yakk:我不想傳遞它們,但也許我可以使用它們作爲模板參數。 – einpoklum

+6

你不能那樣做。那麼,你的問題是什麼? – Yakk

回答

2

概念不增加機構在編譯或運行時通過命名空間。所以沒有辦法測試一個名字空間對抗一個概念,或者用一個名字空間參數化代碼,禁止宏。

反射TS可允許在命名空間的反射(我不是最新的關於其當前狀態),但是這是正交的概念。也許命名空間的具體化和反射可以被操縱,以使命名空間的概念檢查和passimg周圍不知何故,但如果它今天可能不是明天,副VERS因爲它依賴於兩個不同塑料的特性,其中這樣的副作用是在偶然的最好。

+0

無賴。謝謝。 – einpoklum