写矩阵运算的程序的时候,需要用到二级指针。
void get_memory(int **&mat){
mat = new int*[row_len] ;
for(int i=0 ; i<row_len ; i++){
mat[i] = new int [col_len] ;
}
}
利用 new 语句申请动态内存。
其中
int **&mat
的写法很让人在意。 从字面上看(从右向左看),这应该是“引用的二级指针”。 但是一般的解释说这是二级指针的引用。
从意义上来说,引用只是一个别名,创建指向引用的指针是不合理的。 这点容易想明白。 但是写法上却有些让人迷惑。
相对的,这样的写法就是错误的:
int &**mat