• c++ 与 c 的区别


    C++一般被认为是C的超集合(Superset),但这并不严谨。大部分的C代码可以很轻易的在C++中正确编译,但仍有少数差异,导致某些有效的C代码在C++中失效,或者在C++中有不同的行为。 最常见的差异之一是,C允许从void*隐式转换到其它的指针类型,但C++不允许。下列是有效的C代码:

    从void*类型隐式转换为int*类型 int*i=malloc(sizeof(int)*5);

    但要使其在C和C++两者皆能运作,就需要使用显式转换:int*i=(int*)malloc(sizeof(int)*5);
    另一个常见的可移植问题是,C++定义了很多的新关键字,如new和,class它们在C程序中,是可以作为识别字(例:变量名)的。 在C标准(C99)中去除了一些不兼容之处,也支持了一些C++的特性,如//注解,以及在代码中混合声明。不过C99也纳入几个和C++冲突的新特性(如:可变长度数组、原生复数类型和复合逐字常数)。 若要混用C和C++的代码,则所有在C++中调用的C代码,必须放在 extern “C” { /* C代码 */ } 之内。

  • 相关阅读:
    python学习(一)
    Ubuntu安装git
    HashMap源码分析
    nginx加密,访问接口认证
    MD5加密加盐
    xml转对象,对象转xml工具类
    java将对象转map,map转对象工具类
    阿里备战--面试搜集
    java将秒转换为时分秒工具类
    Spring和SpringMvc详细讲解
  • 原文地址:https://www.cnblogs.com/yangxingsha/p/11887764.html
Copyright © 2020-2023  润新知