打印超出范围的数组内容

时间:2012-10-21 08:10:08

标签: c++ arrays

假设我有一个数组:

string w[10];

我有一个声明:

if(w.size() > 10)
{
  // How would I print out the 11th character?
  char a = w[11];
  cout << a << endl;
}

我如何打印出第11个字符?我试着存放到一个角色a但它似乎没有打印任何东西。

1 个答案:

答案 0 :(得分:1)

为什么要在数组边界外打印?打印超出数组大小的任何字符都是未定义的,可能会导致崩溃。

另外w [11]实际上是第12个元素。由于数组是基于0的第11个元素是w [10]。

你真的希望数组的动态大小吗?因为如果您尝试使用字符串,或许您想要一个stl字符串?这在标题<string>中定义,并通过

使用
std::string somestring("string you want");