其实int数组有种很好的初始化方法是用列表初始化,但是公司要求用vs2008,C++标准还没到C++11,所以只能想其它办法初始化int数组
// 方法1:memset
int test[10];
memset(test, 0, sizeof(test));
memset(test, -1, sizeof(test));
// 方法2:使用fill_n或者fill
std::fill_n(test, 10, 999);
memset是按照字节来赋值的,所以int初始化的时候只有0和-1能使用memset,其余都会出错。因为0的补码全为0,-1补码全为1,按字节赋值也没问题。
使用fill_n或者fill倒是不存在出错问题,但是需要使用STL的内容,引入偏麻烦