哪位高手可以帮小弟我解释下这个程序吗?多谢啦

谁可以帮我解释下这个程序吗?谢谢啦!

可不可以帮我逐条解释,特别是vertor
,谢谢
#include<iostream>
#include<sstream>
#include<vector>

using namespace std;
int main()
{
vector<int> n(123,0);
string a;
getline(cin,a);
for(int i=0;a[i]!='#';i++)
n[a[i]]++; //这有点不懂
for(i=97;i<123;i++)
cout<<char(i)<<" "<<n[i]<<endl;
}

------解决方案--------------------
C/C++ code
int main()
{
vector<int> n(123,0);//定义一个vector有123个整形元素,并且初始化值为0
string a;
getline(cin,a);//键盘输入一行字符串,保存在a中
for(int i=0;a[i]!='#';i++)//如果碰到字符串a中的一个字符为#就结束循环
n[a[i]]++; //将字符串中的字符的ASCII码值作为vector n的下标,使这个下标对应的整数值自增1
for(i=97;i<123;i++)
cout<<char(i)<<" "<<n[i]<<endl;//打印出ASCII码97到122的字符所对应的vector中的数字
}