zoukankan      html  css  js  c++  java
  • 内联函数实践:有疑惑未解决

    内联函数实践:

    #include <iostream>
    
    using namespace std;
    
    //============================================================================
    //总结:
    //============================================================================
    
    void chg(int x, int y){
        int tmp = x;
        x = y;
        y = tmp;
    }
    
    inline void chg1(int x, int y){
        int tmp = x;
        x = y;
        y = tmp;
    }
    
    int main(){
    
        cout << "内联函数实践:" << endl;
        int a,b;
        cout << "输入a值:" << endl;
        cin>>a;
        cout << "输入b值:" << endl;
        cin>>b;
    
        // 传值 交换
        chg(a,b);
        cout << "1a:" << a <<  endl;
        cout << "1b:" << b <<  endl;
    
        // 内联 传值交换
        chg1(a,b);
        cout << "2a:" << a <<  endl;
        cout << "2b:" << b <<  endl;
    
        int tmp = a;
        a = b;
        b = tmp;
        cout << "3a:" << a <<  endl;
        cout << "3b:" << b <<  endl;
    
        cout << "end." << endl;
    
        return 0;
    }

    TOOD问题是: chg1函数,如果根据内联函数定义,直接将代码插入主函数体,那么按定义的执行结果 ab两个参数的值是应该交换了。

    但是执行结果确实没有交换:

    有哪位大神解答下这个疑惑?非常感谢!

  • 相关阅读:
    Trie树-字典树
    【实用向】一些简单实现
    C++ 基础部分
    【动态规划】背包问题-例题分析
    C语言-回溯例4
    C语言-回溯例3
    C语言-回溯例2
    C语言-回溯例1
    java开始到熟悉105-107
    C语言-二维背包问题
  • 原文地址:https://www.cnblogs.com/do-your-best/p/11111196.html
Copyright © 2011-2022 走看看