gpt4 book ai didi

c++ - getline() 函数从何而来?

转载 作者:行者123 更新时间:2023-12-01 14:51:25 26 4
gpt4 key购买 nike

不久前我开始学习 C++。
开始了解头文件和预处理器语句。
我知道 std::cin 和 std::cout 是在标准库 IOSTREAM 中声明的对象/函数。
但是当将输入作为字符串并读取整行时。我们必须使用 getline() 函数,或者至少教师在视频中使用它。
现在我在互联网上查了一下,大多数站点都显示 getline() 是在 下定义的。字符串 文件/库。但问题是即使不包含字符串文件,我的程序也能正常运行。那么我缺少什么。?或者做错了什么。如果可以,还请解释 getline 函数的工作原理。并请使用命名空间 std 和使用 std::之间的实际区别是什么?
谢谢

#include <iostream> 

int main()
{
std::string str;

std::cout << "Please enter your name: \n";
getline(std::cin, str);
std::cout << "Hello, " << str
<< " welcome to GfG !\n";

return 0;
}

最佳答案

您必须包含标题 <string>使用函数 std::getline . <iostream> 是否由实现定义包括标题 <string> .
在此调用中使用不合格的名称 getline

getline(std::cin, str);
编译器应用参数相关查找 ADL(第一个参数 std::cin 定义在命名空间 std:: 中)并找到相应的名称 std::getline在命名空间 std:: .

关于c++ - getline() 函数从何而来?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63740929/

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