2017-02-03 11 views
-1

誰かが以下のコードを説明することはできますか?標準ライブラリSTL in C++

vector<int> *vpoint = new vector(); 

ベクトルvpointはint型のvecorを作成します.vpointはその名前です。それでは、なぜ上記のタイプのコードが必要ですか?

そして、前者のコードでは矢印演算子 - >を使用し、後者のコードではドット演算子を使用します。私は正しい。誰かが詳細に説明することができます。

これはポインタと何か関係がありますか?

何か助けていただければ幸いです。ありがとう

+3

* "なぜこのようなコードが必要なのですか?" *あなたは非常にそうではないでしょう。 –

+0

私はそれがコンパイルされるとは思わない。 「前者のコード」と「後者のコード」とはどういう意味ですか?コード例は1つしかありません。 –

+0

元コード: ベクトル * vpoint = new vector(); 後者のコード: ベクトル vpoint; – joedavid

答えて

0

まず、元のコードはコンパイルされません。しかし、あなたの質問、(固定されたコンパイル・エラーとの)コードを答える:

vector<int>* vpoint = new vector<int>; 

は単にヒープ上のstd ::ベクトルクラスのオブジェクトを作成し、vpoint変数にこのオブジェクトのアドレスを割り当てます。

関連する問題