2016-06-29 21 views
-5

私はPythonでプログラミングするのに慣れており、Pythonではすべてがオブジェクトなので、変数の最後に.演算子を使用してclassmethodにアクセスすることは完全に受け入れられます。しかし、C++では、std::cin.getline()のようなものを言うと、cinというメンバ関数にアクセスしていますか?C++ - std :: cin.getline()で 'dot'演算子を使用するとどういう意味ですか?

cinclassstructのようなものがありますか?

+3

あなたはそれが何であるかを調べるために 'のstd :: cin'のいくつかのドキュメントを読んでみてくださいましたか? –

+0

私はまだC++の構文すべてと混乱していますが、実際にはどのように動作するのかについては分かりませんので、ここで質問することで、時間と節約が向上すると思います。 – Hilman

答えて

5

は、次のように入力すると:

#include <iostream> 

対応HEADERFILEがそこに挿入されています。あなたはinclude文でファイル内のどこからでもタイプのIStreamアクセス可能のオブジェクトを持って見るように、このファイルの1行がそう

extern istream cin; 

を読み込みます。

あなたの推測では、cinがクラスのインスタンスであると思われ、ドット演算子はそのオブジェクト/クラスのgetlineメソッドを呼び出します。

出典:http://www.cplusplus.com/reference/iostream/cin/

4

cinは、確かにクラスstd::istreamのインスタンスです。

2
std 

namespace

cin 

istreamクラス

getline 

から目的であるcinクラスのメソッドです。

+1

'cin'はクラスではなく、グローバル変数です。しかし、それはクラスのインスタンスです。 – GManNickG

+0

おっと、私の悪いです。ありがとう –

関連する問題