zoukankan      html  css  js  c++  java
  • 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++编译器帮我们完成了取地址的操作。

  • 相关阅读:
    java 截取pdf
    webService 发送soap请求,并解析返回的soap报文
    常用网址
    扫描文件夹下代码行数
    CodeMIrror 简单使用
    常用 linux 命令(部分)
    windows下RabbitMQ 监控
    一定要写的日志
    创业思路
    10月9日后计划
  • 原文地址:https://www.cnblogs.com/Liu-Jing/p/7688693.html
Copyright © 2011-2022 走看看