gpt4 book ai didi

c++ - 将命令行参数/fstream 传递给函数

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

我用一个文本文件的名称调用我的程序,该文件被放入 argv[2 & 4](有两个文件)。然后我需要这个名字来传递给一个函数。 ifstream myFile(argv[2]) 然后传入一个 ifstream 会更好吗 void func(ifstream myFile, ifstream myOtherFile) 还是我应该传入 argv[2 & 4] 本身void func(char* nameOne, char* nameTwo)?如果是第二种方式,那是我传递的正确方式吗?

这些文件只在那个函数的范围内使用,所以我可以在函数中打开和关闭它们,或者打开它们,将它们传递给函数,然后在从函数返回后关闭它们。我只是想知道哪种方式更有意义。谢谢

最佳答案

RAII是主题 C++ 资源管理 - 尽可能让 处理清理。在您的情况下,该指南建议自动持续时间 ifstream(仅存在于 func 的范围内)更可取,因为它会在销毁时关闭文件。由于 ifstream 仅移动,您可以将 func 调用为 func(ifstream(argv[2]), ifstream(argv[4])) .

关于c++ - 将命令行参数/fstream 传递给函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28551904/

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