内存越界是很让人发愁的事情.为什么发愁?关键就在于,越界访问了,并不会马上出错,甚至可能不出错.举例来说:
#include
#include
#include
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;
}
以上代码做过几次测试,都是这样的结果.
那么怎么办?吾想到一个办法:
实现一个类,重载[]操作符.
以后有机会试试.