c++void*与map强转
#include <iostream> #include <map> int main() { std::map<int, int> myMap = { {1, 100}, {2, 200}, {3, 300} }; void* ptr = &myMap; // 安全转换 + 检查 if (!ptr) { std::cerr << "Error: Null pointer!" << std::endl; return 1; } auto* mapPtr = static_cast<std::map<int, int>*>(ptr); // 优先用 static_cast for (const auto& pair : *mapPtr) { // 兼容严格 C++14 std::cout << "Key: " << pair.first << ", Value: " << pair.second << std::endl; } return 0; }