C++ 参数:复制,引用?
2017-07-25 19:43
218 查看
研究了一下C++数组参数
以上过程称为“数组降价”
所以,当数组作为参数传入时,是有很高的风险程序崩溃
而且,在C++中,数组永远不会按值传递,它只会传递数组指针
最好使用
以保证数组元素不会被更改,但数组仍然有溢出风险
这时应该采用
void Test(char array[20]) //等同于 void Test(char array[]) //等同于 void Test(char* array) //等同于 void Test(char* const array) //注意,这里不是void Test(char const *array)
以上过程称为“数组降价”
所以,当数组作为参数传入时,是有很高的风险程序崩溃
而且,在C++中,数组永远不会按值传递,它只会传递数组指针
最好使用
void Test(char const *array) //或者 void Test(const char *array) //二者等同
以保证数组元素不会被更改,但数组仍然有溢出风险
这时应该采用
void Test(char *array,const int size) //或者采用数组引用 void Test(int (&arr)[10]) //数组引用可以直接获取数组长度
相关文章推荐
- 【C++】学习小笔记系列-4-何时使用引用参数
- C++引用与引用作为函数的参数
- C++ 常量指针或者常量引用作为函数参数传递的原因
- python函数参数是值传递还是引用传递(以及变量间复制后是否保持一致):取决于对象内容可变不可变
- C++函数参数中引用和指针区别
- C++中,虚函数,引用指针,拷贝复制等知识点总结
- C++引用参数和引用返回值
- VS2010 C++ 学习笔记(一) 引用 函数参数默认值 函数重载 内联inline
- 第二周项目1 C/C++语言中的函数参数传递的三种方式--引用作形参
- 正确使用C++引用做返回值和参数
- c++中临时变量不能作为非const的引用参数的方法
- C/C++语言参数传递----函数/方法 参数的指针引用传递
- 【Python基本知识】 Python中,函数参数的引用和复制
- C++中数组的引用作为函数参数
- 数组引用:C++ 数组做参数 深入分析
- python函数参数是值传递还是引用传递(以及变量间复制后是否保持一致):取决于对象内容可变不可变
- 20180306(C++引用做参数/顺序表建立)
- C++中传值参数和引用参数和指针怎样区别?
- C或C++中函数的参数传递包括:值传递、指针传递、引用传递
- C++的三种传递参数到函数的方法:按值传递,用引用参数按引用传递,用指针参数按引用传递