从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

随机推荐

  1. IOS Xib使用

  2. Python语言程序设计基础(1)—— 程序设计基本方法

    Everybody in this country should learn how to program a computer,because it teaches you how to think ...

  3. 【洛谷P1983】车站分级

    车站分级 题目链接 首先,可以发现火车停靠站点的大小是没有什么规律的, 火车可以停靠在级别<=当前级别的站点,必须停靠在级别>=当前最高级别的站点 但是所有没有被停靠的站点级别一定比所有被 ...

  4. Android学习笔记_30_常用控件使用

    一.状态栏通知(Notification): 如果需要查看消息,可以拖动状态栏到屏幕下方即可查看消息.发送消息的代码如下: public void sendNotice(View v){ int ic ...

  5. Android学习笔记_10_ContentProvider内容提供者的使用

    一.使用ContentProvider共享数据 当应用继承ContentProvider类,并重写该类用于提供数据和存储数据的方法,就可以向其他应用共享其数据.以前我们学习过文件的操作模式,通过指定文 ...

  6. PHP IDE PHPStorm配置支持友好Laravel代码提示方法

    PHPStorm神器可以支持更友好的laravel框架代码提示(点击查看),只需要执行如下才做:第一步:在项目的composer.json中添加如下一行 代码如下: "require&quo ...

  7. PLSQL 禁用所有约束,启用约束,索引,触发器等

    --禁用外键和触发器 SET SERVEROUTPUT ON SIZE 50000BEGINfor c in (select 'ALTER TABLE '||TABLE_NAME||' DISABLE ...

  8. centos7 安装 mysql5.7, 以及安装中遇到的问题

    # wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm# rpm -ivh mysql57-communi ...

  9. 29.You executed the following command to perform a backup of the USERS tablespace:

    29.You executed the following command to perform a backup of the USERS tablespace:SQL> ALTER TABL ...

  10. ssm整合实现注册与登录功能

    最简洁易懂的SSM整合源码都在这里了 激情提示: 1.本项目是用IDEA编写的,不管你是习惯何种ide工具,那也只是工具而已,源代码才是本质 2.本项目只拥有注册和登录功能,简易的功能和详细的注释,是 ...