其实,std 中的对象 cin 和 string 均定义了getline方法,虽然名称相同,但是所属对象不同,参数也不同
1、cin.getline(charr,20); 的getline是输入流对象的成员函数,即istream::getline,使用时需头文件#include <iostream>
getline(cin,str);的getline是string类对象的成员函数,即string::getline,使用时需头文件#include <string>,注意不是cstring2、string类的getline(cin,str);中第一个参数要求是一个输入流对象的引用,即istream&,第二个参数则是一个string类的对象。这里cin就是C++内部定义的一个全局的输入流对象,即extern istream cin,str是你定义的string类对象。