zoukankan      html  css  js  c++  java
  • c到c++的升级

    register关键字请求编译器将局部变量存储于寄存器中

    在c++中依然支持register关键字

    c++编译器有自己的优化方式

      c语言中无法获取register变量的地址

      c++中可以取得register变量的地址

    c++中的register关键字

      c++编译器发现程序中需要取register变量的地址时,register对变量的声明变得无效。

      早期c语言编译器不会对代码进行优化,因此register变量是一个很好的补充。

    在c语言中,重复定义多个同名的全局变量是合法的

    在c++中,不允许定义多个同名的全局变量

      c语言中多个同名的全局变量最终会被链接到全局数据区的同一个地址空间上。

    c++直接拒绝这种二义性的做法!

    地址是针对内存来讲的!

    struct关键字的加强

      c语言中的struct定义了一组变量的集合

      c语言中的struct定义的标识符并不是一种新的类型

      c++中的struct用于定义一种全新的类型

    c++中所有的标识符都必须显示的声明类型

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

    在c语言中

      int f() 表示返回值为int,接受任意参数的函数

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

    在c++中

      int f()与 int f(void)具有相同的意义

        表示返回值为int的无参函数

    小结

    c++更强调实用性,可以在任意的地方声明变量

    c++中的register只是一个兼容的作用

    c++编译器能够更好的进行优化

    c++中的任意标识符都必须显示的指明类型

  • 相关阅读:
    复制延迟排查
    [学习笔记]贪心
    主从复制延时判断以及脚本
    [学习笔记]尺取法
    RESET MASTER 和RESET SLAVE 命令的使用方法 注意事项
    女神(goddess)——组合数学
    主从同步设置的重要参数log_slave_updates
    埃及分数&&The Rotation Game&&骑士精神——IDA*
    多源复制开关复制命令和监控
    万圣节后的早晨&&九数码游戏——双向广搜
  • 原文地址:https://www.cnblogs.com/sugarWill666/p/9053710.html
Copyright © 2011-2022 走看看