• 指针和引用作为函数参数传递


    #include "stdafx.h"
    #include <iostream>
    using namespace std;
    
    void reset( int *i )
    {
        //解引用
        *i = 0;
    }
    void reset( int i )
    {
        //只改变了i的局部拷贝,并未改变实参的值
    //调用函数,实质上将形参使用实参的值初始化, 将实参的值拷贝给i
    i = 0; } void reset_(int &i) { //i是传给reset函数的对象的另外一个名字(而且可以避免拷贝,对于大型对象作为参数的情况可以提高效率) i = 0; } int _tmain(int argc, _TCHAR* argv[]) { int p = 1 , q =1, w = 1; reset(p);//int作为函数参数,不能改变p的值 reset( &q );//指针作为函数参数,能改变q的值 reset_(w);//形参i为对象w的引用,改变i即使改变w,能改变w的值 cout << "p = " << p << endl; cout << "q = " << q << endl; cout << "w = " << w << endl; getchar(); return 0; }
  • 相关阅读:
    SQL注入(手工篇)
    sed命令
    交互输入与for语句
    编程原理
    grep与正则表达式
    重定向和管道符
    shell_oneday_历史命令相关
    python_01_初识python
    C# 上传文件
    C# in 参数化处理 (记)
  • 原文地址:https://www.cnblogs.com/voyagee/p/8033939.html
Copyright © 2020-2023  润新知