vetty

C++中下标操作注意事项

C++中,下标操作不添加元素,对于任何使用下标操作的情况,如string类型、vector类型等等,必须是已存在的元素才能用下标操作符进行索引。如果类型为空,通过

下标操作进行赋值时,不会添加任何元素,根本不起作用,验证代码如下:

 1 #include<iostream>
 2 #include<vector>
 3 using namespace std;
 4 int main()
 5 {
 6      string res;
 7      res[0] = 'H';
 8      res[1] = 'e';
 9      res[2] = 'l';
10      res[3] = 'l';
11      res[4] = 'o';
12      cout << res << "\n";
13      return 0;
14 }

最后的输出结果为空。如果想实现此操作,代码如下:

 1 #include<iostream>
 2 #include<vector>
 3 using namespace std;
 4 int main()
 5 {
 6      string res(5,'');
 7      res[0] = 'H';
 8      res[1] = 'e';
 9      res[2] = 'l';
10      res[3] = 'l';
11      res[4] = 'o';
12      cout << res << "\n";
13      return 0;
14 }

原则是已存在的元素使用下标操作符才有意义。

posted on 2015-04-07 11:37  cocos2014  阅读(1090)  评论(0编辑  收藏  举报

导航