gpt4 book ai didi

c++ - 为什么在 C++ 中使用流?

转载 作者:可可西里 更新时间:2023-11-01 16:51:33 25 4
gpt4 key购买 nike

众所周知,有些库使用流,例如 iostreamfstream .

我的问题是:

  • 为什么要直播?他们为什么不坚持使用类似于 print 的功能? , fgets等等(例如)?

他们需要自己的运算符(operator) <<>>但是他们所做的一切都可以用上面的简单函数来实现,还有函数

printf("Hello World!");

对我来说比

更具可读性和逻辑性
cout << "Hello World";

我还认为 C++ 中的所有这些字符串抽象都可以编译为(效率较低的)二进制标准函数调用。

最佳答案

流具有更好的类型安全性。

例如printf("%s", a);如果 a 可能会出现严重错误是一个整数。 cout << a;没有这个问题。

另一个问题是流更符合面向对象的设计方法。

例如,您有一个简单的应用程序,它写入一些输出,然后您希望输出到一个文件而不是控制台。对于 C 调用,您必须替换对 printf 的所有调用调用fprintf并注意维护 FILE*一路上。使用流,您只需更改正在使用的流的具体类,仅此而已,大部分代码保持不变,如下所示:

void doSomething(ostream& output)
{
output << "this and that" << a;
}

doSomething(cout);
doSomething(ofstream("c:\file.txt"));

关于c++ - 为什么在 C++ 中使用流?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2746264/

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