【问题标题】:C++ - What does the 'dot' operator means when used in std::cin.getline()?C++ - 在 std::cin.getline() 中使用“点”运算符是什么意思?
【发布时间】:2016-11-01 18:40:42
【问题描述】:

我习惯用 Python 编程,因为在 Python 中,都是对象,所以在变量末尾使用 . 运算符访问 @987654323 的 method 是完全可以接受的@。但是在 C++ 中,比如说std::cin.getline(),这是某种访问cin 的成员函数的方式吗?

cin 是某种class 还是struct

【问题讨论】:

  • 您是否尝试阅读std::cin 的一些文档以了解它是什么?
  • 我仍然对 C++ 的所有语法及其实际工作方式感到困惑,所以,我只是认为在这里询问会更好,更省时。

标签: c++


【解决方案1】:

cin 确实是 std::istream 类的一个实例。

【讨论】:

    【解决方案2】:
    std
    

    namespace

    cin
    

    是来自istream 类的对象

    getline
    

    是来自cin 类的方法。

    【讨论】:

    • cin 不是一个类,它是一个(全局)变量。不过,它是一个类的实例。
    • 糟糕,我的错。谢谢
    【解决方案3】:

    输入后:

    #include <iostream>
    

    相应的头文件被插入那里。该文件的一行读取

    extern istream cin;
    

    如您所见,您有一个 istream 类型的对象,可以使用 include 语句从文件中的任何位置访问。

    所以你猜 cin 是一个类的实例是正确的,点运算符调用了该对象/类的 getline 方法。

    来源:http://www.cplusplus.com/reference/iostream/cin/

    【讨论】:

      猜你喜欢
      • 2015-04-05
      • 2012-06-07
      • 2011-05-12
      • 2011-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-15
      • 1970-01-01
      相关资源
      最近更新 更多