有没有办法实现自定义类型限定符(类似于const)?我想只允许在具有相同限定符的函数内调用相应限定符的函数。
假设我有:
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
}
我希望这样做的原因是我想确保只有实时安全函数被特定线程调用。由于许多应用程序需要硬实时安全线程,因此编译时检测锁定的某种方式将确保我们避免许多难以检测到的运行时错误。