printf是一个函数,而cout是一个对象
C中的printf是一个标准的输出函数,C++中的cout是在iostrem文件中定义的全局对象。
联系:完成的功能一样,都是输出
1.书写格式不一样
#include<iostream> using namespace std; int main() { cout<<"Hello,World!"; return 0; }
#include<iostream> using namespace std; int main() { printf("Hello,World!"); return0; }
2.printf需要你告诉它格式(int %d, double %f,char %c), 而cout不需要
3.printf是函数。cout是ostream对象,和<<配合使用。
4.printf是变参函数,没有类型检查,不安全。cout是通过运算符重载实现的,安全。
5.如果printf碰到不认识的类型就没办法了,而cout可以自己重载进行扩展。
6.有时候printf比cout灵活。c++中也能使用printf,但是c中不能使用cout也可以这么说:c++可以完全兼容c的用法,反过来就不行