我有一个变量声明为:
enum class FooEnum: uint64_t {}
Run Code Online (Sandbox Code Playgroud)
我想转换为它的基类型,但我不想硬编码基类型.例如,像这样:
FooEnum myEnum;
uint64_t * intPointer = (underlying_typeof(myEnum))&myEnum;
Run Code Online (Sandbox Code Playgroud)
这可能吗?
我不清楚它的好处是什么.
如果我有:
Foo* foo = nullptr;
std::unique_ptr<Foo> unique_foo(foo);
Run Code Online (Sandbox Code Playgroud)
在那种情况下是否调用了nullptr_t构造函数?或者只有你这样做:
std::unique_ptr<Foo> unique_foo(nullptr);
Run Code Online (Sandbox Code Playgroud)
谢谢!
有一些讨论,这里是让你来传递nullptr_t,否则将无法编译,因为它不会转换为指针类型.所以我的问题可能是为什么它不投?