内存越界是很让人发愁的事情.为什么发愁?关键就在于,越界访问了,并不会马上出错,甚至可能不出错.举例来说:

#include <stdlib.h>
#include <stdio.h>
#include <string.h>
  
int main(int argc, char **argv)
{
    char buffer[32] = "quantum6";
    printf("buffer = %s\n", buffer);

    //不出错.
    //buffer[55] = 0;
    
    //崩溃
    buffer[56] = 0;

    //会循环运行
    //buffer[56] = 8;

    printf("buffer = %s\n", buffer);

    return 0;
}

  以上代码做过几次测试,都是这样的结果.

 

  那么怎么办?吾想到一个办法:

  实现一个类,重载[]操作符.

  以后有机会试试.