Eon*_*nil -1 c++ destructor boolean
由于一致性原因,AFAIK,C++为原始类型提供析构函数.但这不适用于bool类型.
bool* vptr;
vptr->~bool(); // Error. "Expected a class name after '~' to name a destructor"
int8_t* vptr;
vptr->~int8_t(); // No error.
Run Code Online (Sandbox Code Playgroud)
我的代码出了什么问题?这是我的编译器版本.
Apple LLVM version 5.0 (clang-500.2.79) (based on LLVM 3.3svn)
Target: x86_64-apple-darwin12.5.0
Thread model: posix
Run Code Online (Sandbox Code Playgroud)
因为bool,与所有其他内置类型一样,它不是类类型,但它适用于typedef和模板参数,因为标准允许它启用泛型编程.
template<typename T>
void destruct(T const & obj)
{
obj.~T();
}
Run Code Online (Sandbox Code Playgroud)
您也可以为内置类型调用此函数!:-)
| 归档时间: |
|
| 查看次数: |
270 次 |
| 最近记录: |