C++ 以下代码中*iter)[0]; 是什么意思啊!请教!

C++ 以下代码中*iter)[0]; 是什么意思啊!请教!

if (!list.empty())
        {


            cout << left << setw(16) << "订阅流水号";
            cout << left << setw(12) << "杂志代号";
            cout << left << setw(16) << "订阅用户名";
            cout << left << setw(16) << "身份证号";
            cout << left << setw(16) << "单价";
            cout << left << setw(10) << "份数";
            cout << endl;
            for (vector>::iterator iter = list.begin(); iter != list.end(); ++iter) 
            {



                cout << left << setw(16) << (*iter)[0];
                cout << left << setw(12) << (*iter)[1];
                cout << left << setw(16) << (*iter)[2];
                cout << left << setw(16) << (*iter)[3];
                cout << left << setw(16) << (*iter)[4];
                cout << left << setw(10) << (*iter)[5];
                cout << endl;



            }
        } else 
        
        
        {
            cout << "未找到符合条件的数据!" << endl;
        }
    }


```

你的vector中存储的是字符串数组,那么(*iter)[0]就是获得迭代器指向的字符串数组中的第0个字符串
这个代码就是循环输出vector中每个字符串数组中的第0个到第5个字符串

  1. (*iter)是取迭代器里的元素,元素类型为vector
  2. (*iter)[0]就是取vector中的第一个元素,即string对象