C++中如何为list元素添加对应序号输出?代码问题求助
问题分析
你代码里的内部for循环完全没必要——它每次都从i=1开始,执行一次就break,所以每个标题前的序号永远是1。要实现递增的序号,你需要在遍历视频列表时维护一个独立的计数器变量。
修改后的代码
#include <iostream> #include <list> using namespace std; class YTchannel{ public: string name; string owner; int subs; list<string> video_title; }; int main(){ YTchannel ytc; ytc.video_title={"A", "B", "C"}; int counter = 1; // 定义递增计数器 for(string videotitle: ytc.video_title){ cout << counter << videotitle << endl; counter++; // 每输出一个标题,计数器加1 } return 0; // 补充main函数返回值,符合C++标准规范 }
说明
- 移除了多余的内部
for循环,它对实现递增序号没有作用 - 新增
counter变量,初始值设为1,每输出一个视频标题就自增1,以此生成连续的序号 - 补充
return 0;,让main函数符合C++标准要求
内容的提问来源于stack exchange,提问作者incognito
相关产品推荐
相关产品推荐

