目前我正在编写一个程序,使用C++,我有一个关于Old v New的查询。
在网上,我看到有人使用C++语法打开文件。我正在转向C++,所以我应该跟上时代的步伐,但我突然想到,使用C方式更好还是后者更好?我正在考虑:
- 安全
- 速度
- 内存使用情况。(尽管我想我可能对此有一个想法。)
谢谢。
无论是纯C还是纯C++都不允许您访问操作系统的安全功能。在Windows和Linux/UNIX中,存在与文件系统相关的安全功能,您必须使用这些功能才能设置或查询文件访问权限。
无论你是用C还是C++编写,安全仍然是你的责任。这两种语言都不需要像输入验证和错误检查这样的东西。
在使用相同编译器的同一平台上,文件I/O速度应该大致相同,除非使用不同的缓冲模式或不同大小的缓冲区。对于文件I/O函数中隐式使用的内存量,情况也应该如此。
如果你用C++编写,你通常应该使用C++I/O函数,除非你不能用它们做一些事情(例如,你不能访问操作系统特定的功能,因此被迫使用操作系统提供的纯C函数)。
使用C++标准库提供的功能。如果并且仅当遇到速度或内存问题时,请开始分析并探索其他选项。