gpt4 book ai didi

c++ - 函数模板 - 基于输入类返回 T? - C++

转载 作者:行者123 更新时间:2023-11-28 07:56:19 25 4
gpt4 key购买 nike

我已经创建了一个函数模板,用于从二进制文件加载我的设置。

template<class T> T LoadSettings(const std::string &fileName)
{
// Load settings
T settings;

std::string filePath(LOCAL_FILE_DIR);
filePath.append(fileName);

std::ifstream file(filePath, std::ios::in | std::ios::binary);

if (file.is_open())
{
if (!settings.ParseFromIstream(&file))
{
throw ExceptionMessage("Failed to parse TextureAtlasSettings");
}
}
else
{
throw ExceptionMessage("Failed to open file");
}

return settings;
};

我希望能够调用该函数并返回适当的设置类。

来自 C# 我会做以下事情。

MySettingsClass settings = LoadSettings<MySettingsClass>("FileName.bin");

如何在 C++ 中做同样的事情?

编辑:

我应该更通用!

throw std::runtime_error("Failed to parse " + typeid(T).name());

最佳答案

然后在C++中使用这个语法

MySettingsClass settings = LoadSettings<MySettingsClass>(std::string("FileName.bin"));

关于c++ - 函数模板 - 基于输入类返回 T? - C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12638777/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com