zoukankan      html  css  js  c++  java
  • 第2课.C到C++的升级

    1

    C :C语言中的变量都必须在作用域开始的位置定义
    C++:C++中所以变量都可以在需要使用的时候在定义

        for(int i=1; i<=3; i++)            //这是c++中使用时才定义,C语言必须在开始就定义
        {
            for(int j=1; j<=3; j++)
            {
                c += i * j;
            }
        }
    

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

    C :C语言中无法获取register的变量地址
    C++:C++中可以获得register变量的地址,但C++编译器发现程序需要取register变量的地址时,register对变量的声明变得无效。

    register int a = 0;                  
    printf("&a = %p
    ", &a);        //    C++中才可以,C语言中不可
    

    3

    C :在C语言中,重复定义多个同名全局变量是合法的。
    C++:在C++中不允许定义多个同名的全局变量

        int g_v;
        int g_v;                        //这里定义了两个g_v,在C语言中编译可以通过
    
        int main(int argc, char *argv[])
    

    4.struct关键字

    C :C语言中的struct定义了一组变量的集合;struct定义的标识符不是一个新的类型。
    C++:C++中的struct用于定义一个全新的类型

    5

    C :C语言中支持默认类型
    C++:C++中的标识符都必须显示的声明,C语言中的默认类型在C++中是不合法的。

    6.思考

    int f()与int f(void)有什么区别?
    C :int f()的参数为n个,而int f(void)没有参数
    C++:int f()和int f(void无区别

  • 相关阅读:
    Unix&Linux下常见的性能分析工具介绍
    理解Load Average做好压力测试
    cron 的配置和说明
    原生js模仿下拉刷新功能
    webpack初步了解
    数组的迭代方法
    webpack4
    反思面向对象
    C和lua的互相调用
    对Zookeeper的一些分析
  • 原文地址:https://www.cnblogs.com/huangdengtao/p/11750601.html
Copyright © 2011-2022 走看看