whileとfor

線形リスト処理の続き。初期値を設定してwhileを使うよりも、forでやったほうがいいような気がして、次のように書き換えた。たぶんコンパイルされると同じことだろうけど。

Node *node = list->head;
while (node != NULL) {
  PrintData(node->data);
  node = node->next;
}

  :
  :
  :

Node *node;
for (node = list->head; node != NULL; node = node->next)
  PrintData(node->data);

for文の初期値設定のところで宣言できればいいのに。これは、どこかで読んだような気がするけどC++でできるのかな。

for (Node *node = list->head; node != NULL; node = node->next)
  PrintData(node->data);