• C++基础 — C++中的变量和三目运算符


    C++中所有的变量和函数都必须有类型

      C语言中的默认类型在C++中是不合法的。

    在C++中,int f( ); 和int f(void);具有相同的意义,都表示返回值为int 的无参函数。

    在C中,int f( ); 表示返回值为int,可接受任意参数的函数;

    int f(void); 表示返回值为int 的无参数函数。

    //在c语言中,表达式的结果 放在什么地方  寄存器

    //在C语言中,表达式的返回值 是变量的值(一个数)——   一个确切的数不能做左值。

    //在C++中,表达式返回的是变量本身  —— 可作为左值;因此可以出现在程序的任何地方

    C++编译器如何做到让表达式返回一个内存空间,即内存首地址  即指针的?

    {

      int a = 10;

      int b = 20;

      (a < b ? a : b) = 30;

      printf("a = %d, b = %d ", a, b);

    }

    在C++上述代码正常运行,a= 30, b =20;

    在C中会报错,(a < b ? a : b) = 30; ====》左边运行的结果是a的值  20 = 30;(变量不能为左值)。

    故代码修改为:

    {

      int a = 10;

      int b = 20;

      *(a < b ? &a : &b) = 30;

      printf("a = %d, b = %d ", a, b);

    }

    本质: C++编译器帮我们完成了取地址的操作。

  • 相关阅读:
    使用Docfx生成项目文档
    代码性能优化-----减少数据库读取次数
    代码性能优化-----前端页面异步实现
    代码性能优化——task
    SVN批处理
    性能优化
    provider 设计模式
    【IObit】五大软件激活码( Advanced Systemcare....)
    关于 facebook
    关于 Google 与 Chrome
  • 原文地址:https://www.cnblogs.com/Liu-Jing/p/7688693.html
Copyright © 2020-2023  润新知