函数参数传递时的“副本”

来源:互联网 发布:淘宝网手机大全 编辑:程序博客网 时间:2024/06/10 02:47
//------------------------------函数参数传递时的“副本”------------------------------------//  描述:将指针变量1作为参数传递给另一个函数时,另一个函数会建立一个副本指针变量2来接收这个指针变量所指向//      变量的地址值,当我们想改变指针变量1所指向的对象时,我们需要把指针变量1的地址值传递过去,而不是传指针变量1所指向变量的地址值。//------------------------------------------------------------------------------------------//--------------------------------正确的写法--------------------------------------------//  描述:正确的写法//--------------------------------------------------------------------------------------#include "iostream"void GetMem(int **p,int num) {    *p = new int[num];}int main() {    int *p = NULL;    GetMem(&p, 10);    if (p != NULL) std::cout << "OK" << std::endl;    else std::cout << "No" << std::endl;    return 0;}
//--------------------------------错误的写法--------------------------------------------//  描述:错误的写法//--------------------------------------------------------------------------------------#include "iostream"void GetMem(int *p, int num) {    p = new int[num];}int main() {    int *p = NULL;    GetMem(p, 10);    if (p != NULL) std::cout << "OK" << std::endl;    else std::cout << "No" << std::endl;    return 0;}
0 0
原创粉丝点击