当然是cout比printf要好一些。C++中cout和输出函数printf()都能实现设备无关的输出,但是cout要远远优于printf,建议尽可能使用cout而不是printf,原因如下:
1、cout是C++中iostream标准库中定义的面向标准输出的iostream类对象,它可以向设备输出或者写数据;
而printf()是C语言在STDIO.H中定义的格式化输出函数, 一般用于向标准输出设备按规定格式输出信息。
2、iostream是用多重继承与虚拟继承实现的面向对象的层次结构,作为一个c++的标准库组件提供给程序员使用。 iostream为内置类型对象提供了输入输出支持,同时也支持文件的输入输出,类的设计者可以通过对iostream库的扩展,来支持自定义类型的输入输出操作。
由于c语言没有运算符重载机制,导致stdio库不具可扩充性,使得printf()和scanf()不能支持对自定义类对象的扩充识别,而c++是可以通过运算符重载机制扩充 iostream库的,使系统能能够识别自定义类型,从而让输入输出明确的知道他们该干什么,格式是什么。
3、cout不仅支持多重继承、虚拟继承、运算符重载等面向对象的机制,而且支持C++异常处理机制,使用起来不仅可扩展性强,而且更稳健。而printf()则完全没有这方面的功能。
4、cout强于printf()的另一个方面是,大多数情况下,cout由于深度优化,可能比printf()更快捷,输出效率更高。
温馨提示:答案为网友推荐,仅供参考