网上有对于C++编程要避免使用cin、cout、fstream;而是使用scanf、printf、FILE *的说法, 请问是正确的吗?

对于C++编程,使用cin、cout和fstream是C++标准库提供的方式,而使用scanf、printf和FILE *则是C语言风格的输入输出方式。虽然C++继承了C的大部分特性,但是在C++中更推荐使用C++标准库的输入输出方式。

以下是一些理由说明为什么应该使用C++标准库的输入输出方式:

  1. 类型安全性:C++标准库的输入输出方式对数据类型进行了更好的支持,可以直接使用C++的数据类型和特性进行输入输出操作。相比之下,C风格的输入输出方式需要使用格式化字符串来进行数据类型的指定,容易出现类型不匹配的问题。
  2. 面向对象:C++标准库的输入输出方式基于面向对象的设计思想,提供了更友好、更灵活的接口。可以使用运算符重载、流操纵符等特性来简化输入输出代码,使得代码更加可读性强,易于维护。
  3. 异常处理:C++标准库的输入输出方式能够通过异常处理机制来处理输入输出错误,提供了更好的错误处理能力。相比之下,C语言风格的输入输出方式通常需要手动检查错误码或返回值,代码冗余度较高。
  4. 扩展性:C++标准库的输入输出方式提供了丰富的扩展接口,可以通过继承和重载来自定义输入输出行为。这使得我们可以根据具体业务需求进行定制化的输入输出操作。

综上所述,虽然C语言风格的输入输出方式在一些特定场景下仍然有用,但是在C++编程中更推荐使用C++标准库的输入输出方式(cin、cout和fstream),因为它们提供了更好的类型安全性、面向对象、异常处理和扩展性。




本人是一个套着c++皮的c程序员,本人喜欢c++的面向对象,不喜欢c++标准库的东西,什么vector,list等,所以cin cout,不如scanf香的,它快啊。我们项目中进行比如向量运算时,直接在c++中写汇编,simd指令不香吗?c++标准库就是浪费CPU的效率,什么智能指针,什么模板,简直编译起来慢,运行起来更加慢,所以linus喷c++是有道理的。但是本人喜欢c++的class,里面的public,protected,和private,这样的权限蛮香的。c++标准库和那啥boost库,我们组我是强烈不用的




不正确,凡是说这不能用那不能用的没有原因的都是沙雕,只能说在什么情况不适合用。网上最沙雕的就是还说某大公司规范啥存储过程不能用。要是啥指令都不能用难道世界几大公司都沙雕么。造一堆不能用的玩意。




作为一位主要使用C/C++做开发的老码农,我可以很肯定的回答这当然是一种不正确的做法,并不是这两种方案熟好熟坏,而是取决于程序的设计方法,下面详细说说原因。

首先需要理清cin、cout、fstream与scanf、printf、FILE*之间的关系。前者用来在C++进行流相关的操作,其中fstream是一个文件流,当然还有其它类型的流,而cin和cout是两个对象,用来进行输入输出操作。后者主要是C语言中的概念,其中scanf和printf是输入输出函数,而FILE是一个结构体。虽然后者也能在C++中使用,毕竟C++将C语言当作一个完全支持的子集,但是从程序设计的角度来讲却有着巨大的差别。

C++是一种支持面向对象编程的语言,如果以面向对象作为程序设计的基本方法,那么使用类和对象等面向对象编程的技术才是正道,而流就是C++对文件操作的一种具体实现,当然应该使用cin、cout、fstream等进行文件操作。

当然,C++也支持面向过程的开发方法,而且和C语言完美兼容,如果为了兼容C程序,或者就是将C++当作C语言使用,那么使用scanf和printf等函数操作,也是一种可选方案,而在这种方案中则要尽量避免使用面向对象的东西。

所以从理论上来说,具体使用那种方案,取决于你的程序设计选择什么样的方法论,如果是面向对象就是用流操作;相反,如果为了兼容C程序而使用面向过程设计,那么就使用基本的函数操作。

总之,只要是语言本身支持的功能,如何使用都是可行的,但是要想使软件的设计方案更完美,就需要遵循一定的规则,而这并没有一个统一的标准,具体选择哪种方案取决于实际应用,但是选择统一的设计方法会给软件开发带来诸多好处。




1.推荐尽量不用C艹。

2.流操作比格式化安全。

3.不用纠结这个细节,C艹的难点不是选cin还是scanf,能掌握,习惯,跟团队合拍更重要。

4.继续推荐不要用C艹,如果你还在纠结cin与scanf,那C艹真不适合你。

展开阅读全文

页面更新:2024-02-23

标签:扩展性   能用   程序设计   数据类型   输入输出   函数   特性   说法   正确   风格   类型   语言   操作   方式   方案   标准   方法   财经   网上

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top