是否有任何方法來實現自定義類型限定符(類似於const)?我想只允許對具有相同資格的函數進行函數調用,以獲得正確的資格。有沒有辦法構建C++自定義限定符?
比方說,我將有:
void allowedFunction();
void disallowedFunction();
//Only allowed to call allowed functions.
void foo()
{
allowedFunction();
disallowedFunction(); //Cause compile time error
}
//Is allowed to call any function it wants.
void bar()
{
allowedFunction();
disallowedFunction(); //No error
}
我想這樣做的原因是因爲我想確保函數調用上的特定線程只能調用實時的安全保護功能。由於許多應用程序都需要硬實時安全線程,因此在編譯時有一些檢測鎖的方式可以保證我們很難檢測到運行時錯誤。
要爲該語言添加新關鍵字,請不要有機會(除非您能說服委員會)。您可能可以使用宏。 –
我想你可能會對此感興趣:[Metaclasses:關於生成C++的思考](https://herbsutter.com/2017/07/26/metaclasses-thoughts-on-generative-c/) –
也許你可以把特定頭文件中的實時安全函數聲明? – Oliv