我一直在尝试将新的“映射”类放置在 I/O 空间之上以节省一些内存:
hardware::ioport *port = new(0xWHATEVER) hardware::ioport();
效果很好,但会将 0xWHATEVER 处的字节清零。“替代”解决方案
hardware::ioport *port = reinterpret_cast<hardware::ioport *>(0xWHATEVER);
也可以,但不调用我实现的默认构造函数。
有什么方法可以调用构造函数,但不要在 C++ 中预先将内存清零?