c++ 函数返回不同类型

需求 cpp 如何让调用的函数返回不同的类型? 解决 std::variant 可以返回 std::variant 定义的类型。 #include <variant> std::variant<int, double, std::string> GetDifferentValue(int choice) { if (choice == 0) { return 42; } else if (choice == 1) { return 3.14; } else { return "Hello, World!"; } } std::any #include <any> std::any GetDifferentValue(int choice) { if (choice == 0) { return 42; } else if (choice == 1) { return 3.14; } else { return "Hello, World!"; } } 模板和多态 std::unique_ptr<Base> GetDifferentValue(int choice) { if (choice == 0) { return std::make_unique<IntType>(42); } else if (choice == 1) { return std::make_unique<DoubleType>(3....

2024-08-14 · 1 min · 203 words · RamLife