• 从C到C++ (2)


    从C到C++ (2)

    一、    C++中增加了作用域标示符 ::

    1、     用于对局部变量同名的全局变量进行访问。

    2、     用于表示类成员。

    二、    new、delete运算符

    1、       new运算符用于创建堆空间,成功返回首地址失败抛出异常(C++有异常处理机制,C语言中无此机制所以结果要与NULL比较),语法:

                  指针变量 = new 数据类型;

                  指针变量 = new 数据类型[长度]

                 例如:

                  int *p; p = new int;           // or p = new int(50),“()”表示对这个空间初始化

                  char *pStr; pStr = new char[50];

                  new 的3个用法:

                  1)new operator       分配内存 + 调用构造函数

                  2)operator new       只分配内存

                  3)placement new    不分配内存,在已分配的内存中创建对象

    2、       delete运算符 用于释放堆空间,语法:

                  delete 指针变量

                  delete [] 指针变量

    三、    C++支持函数重载

    相同的作用域,如果两个函数名相同,而参数不同,我们把它称之为重载overload。函数的重载又可以称为函数多态(静态多态,编译时确定函数入口地址)。

    C++中为了支持重载,需要进行name managling(名字改编),重载函数会被编译器进行名字改编。如果想让C++编写的函数能被C调用的话,在函数名前加 extern”C”(表明此函数不进行名字改编)。通常这段代码放在.h文件中,此.h文件既可以被C引用也可以被C++引用,也就是说C++编写的一些函数可以被C调用只需要提供给它头文件即可。例:

    #ifdef __cpluscplus

    extern “C”

    {

    #endif

    #ifdef __cpluscplus

    }

    #endif

  • 相关阅读:
    ubuntu21.10(linux): 安装和使用ab(ApacheBench, Version 2.3)
    centos8(linux): nohup生成的日志切分
    EMR StarRocks 极速数据湖分析原理解析
    专访香侬科技:致力于让世界听到中文NLP的声音
    数智科技护航微出行
    无影云电脑支持企业快速实现居家办公
    深度解读「无影云电脑远程办公解决方案」
    系统性能分析从入门到进阶
    车脉科技:业内首创“车企体验式营销”
    基于Confluent+Flink的实时数据分析最佳实践
  • 原文地址:https://www.cnblogs.com/uriel/p/3737084.html
Copyright © 2020-2023  润新知