C++11 有`decltype`,C23 有`typeof`,如果同一个头文件需要同时给 C23 和 C++使用,那么需要自动推导类型的语句应该怎么选?
是应该加设一个 macro 分开处理?对于 C23 就用 typeof ,对于 C++就用 decltype 。<br />
又或者在 C23 环境用`#define`把 decltype 替换成 typeof ?
然后还有`typeof_unqual`,C++是用模板的形式来做的,没记错的话应该等价于`std::remove_cv_t<decltype(var)>`,是不是只能用 macro 分开处理了? |
|