gpt4 book ai didi

c++ - 仅对 char* 和字符串重载函数

转载 作者:行者123 更新时间:2023-11-30 00:48:02 25 4
gpt4 key购买 nike

我正在制作一些函数来保存和加载我的值:

他们是这两个:

void safeFile(string &set_name) const;
void loadFile(string &set_name);

这里的问题是我还希望它们为 char* 工作,所以我像这样重载了它们:

void safeFile(string &set_name) const;
void loadFile(string &set_name);
void safeFile(char* set_name) const;
void loadFile(char* set_name);

在cpp文件中:

void myclass::loadFile(string &set_name)
{
...
}
/* loadFile */


void myclass::safeFile(string &set_name)
{
...
}
/* safeFile*/


void myclass::loadFile(char *set_name)
{
string mystring(set_name);
loadFile(mystring);
}
/* loadFile */


void myclass::safeFile(char *set_name) const
{
string mystring(set_name);
safeFile(mystring);
}
/* safeFile*/

有没有更好的或其他方法我应该这样做?谢谢

最佳答案

只是不要为 char* 添加重载。 saveFileloadFile 应该简单地将它们的参数作为 const std::string&

如果你有:

void saveFile(std::string const& );

你可以同时调用它:

obj.saveFile("file.txt");
obj.saveFile(std::string("file.txt"));

关于c++ - 仅对 char* 和字符串重载函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33060332/

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