ページ 11

ソースコードの理解ができません

Posted: 2016年3月30日(水) 17:00
by pocket
お世話になっております.
今回は,とあるソースコードを読んでいて,自分が理解できない部分が出てきたので質問させていただきます.

C++歴は1年と少しです.
よろしくお願いします.

コード:

for(shared_ptr<DeviceObject> d : dos) {
	cout << "  class:" << hex << d.get()->getEchoClassCode() << ",instanceCode:" << hex << (int)d.get()->getInstanceCode() << endl;
}
分からない部分を抜粋したソースコードが上記になります.
for文の引数の部分が理解できません.
DeviceObject形のスマートポインタであるdを宣言しているようなのですが,
そのあとの,:dosが何を意味しているのか分かりません.

ご教授いただければ幸いです.
よろしくお願いいたします.

Re: ソースコードの理解ができません

Posted: 2016年3月30日(水) 18:38
by can110
「Range-based for loop」 foreach文のようなもののようですね。

Range-based for loop (since C++11)
range-based for loopsの要素の型について

Re: ソースコードの理解ができません

Posted: 2016年3月31日(木) 00:08
by pocket
can110さん

回答いただきありがとうございます。
foreach文はじめて知りました。

非常に便利な機能ですね。
参考にしつつ、今後の自分のソースコートに含めていきたいと思います。

この問題に対して考えて下さった方々に感謝いたします。