c++语言对c的扩充
1.命名空间的使用
参见下列链接:http://www.cnblogs.com/uniqueliu/archive/2011/07/10/2102238.html
需要注意的地方:如果使用了命名空间std,则在使用#include编译预处理命令包含头文件时,必须去掉头文件的扩展名.h,否则会出错。
命名空间可以不连续,分为多段,但它们仍然是同一个命名空间。命名空间不能定义在函数声明、函数定义或类定义的内部。
2.动态内存的分配与释放
在程序运行时可使用的内存空间称为堆(heap)。


3.作用域运算符(::)

4.引用
被声明为引用类型的变量名则是实际变量名的别名。
函数调用可以作为左值
5.const修饰符
函数参数也可以用const说明,用于保证实参在该函数内部不被改变


6.字符串
string 类型
7.内联函数
是一种用空间换时间的措施,即使插入了inline关键字的函数,也要由编译器按一定准则判断是否按其指定的inline的方式处理。
8.带默认参数的函数
指定了初始值的参数称为默认参数。如果函数有多个默认参数,则默认参数必须是从右到左定义,并且在最右边一个默认参数的右边不能有未指定默认值的参数。
9.函数重载(overload)
注意事项:(1).不可以定义两个具有相同名称、相同参数类型的相同参数个数,只是函数返回值不同的函数。c++语言是按函数的参数表分辨相同名称的函数;
(2).如果某个函数参数有默认值,必须保证其参数默认后调用形式不与其他函数混淆。
10函数模板
使用模板函数的方法是先声明函数模板,然后实例化成相应的模板函数进行调用执行。
(1).函数模板
(2).模板函数
(3).函数模板与重载函数
当模板函数与重载函数同时出现在一个函数体内时,c++语言编译器的求解次序是先调用重载函数;如果不匹配,则调用模板函数;如果还不匹配则进行强制类型转换,前面几种方法都不对,则最后报告出错。
c++语言对c的扩充的更多相关文章
- c#: 界面多语言动态切换简单实现
终于有空整理下多语言实现思路.查阅已有方案,有用不同resx文件的,有每个控件动态设置的,有用反射去整的,颇为繁琐. 结合项目中实现方法,并做简化,实现通用的多语言切换方案,以做备忘. 它支持语言自定 ...
- 09GNU C语言程序编译
1. C 语言程序概述 GNU gcc 对 ISO 标准 C89 描述的 C 语言进行了一些扩展,其中一些扩展部分已经包括进 IOS C99 标准中.本节给出了内核中经常用到的一些 gcc 扩展语 ...
- 我是先学C语言还是先学C++,实不相瞒,鱼和熊掌可兼得!
这是最近一周时间几个读者小伙伴所提的问题,我顺手截了两个图. 实不相瞒,这类问题之前也经常看到. 每次遇到这种问题,看起来很简单,但是打字一时半会还真说不清,想想今天周末了,写一篇文章来统一聊 ...
- C/C++ Lua Parsing Engine
catalog . Lua语言简介 . 使用 Lua 编写可嵌入式脚本 . VS2010编译Lua . 嵌入和扩展: C/C++中执行Lua脚本 . 将C++函数导出到Lua引擎中: 在Lua脚本中执 ...
- C++学习4
在C++中,定义函数时可以给参数指定一个默认的初始值.调用函数时,可以省略有默认值的参数.也就是说,如果用户指定了参数的值,那么就使用用户指定的值,否则使用参数的默认值. C++规定,默认参数只能放在 ...
- oracle PL/SQL(procedure language/SQL)程序设计
PL/SQL(procedure language/SQL)语言是Oracle对SQL语言的过程化扩充,是一个完整的编程语言.PL/SQL实现了过程化语句(如分支.循环等)与SQL语句的无缝连接,将过 ...
- 深入浅出JavaScript函数 v 0.5
本文的观点是建立在<JavaScript权威指南 6th Ed> <JavaScript高级编程 3th Ed> <JavaScript精粹 2th Ed>之上, ...
- C++引用(Reference)
引用(Reference)是C++语言相对于C语言的又一个扩充,类似于指针,只是在声明的时候用&取代了*.引用可以看做是被引用对象的一个别名,在声明引用时,必须同时对其进行初始化.引用的声明方 ...
- 你好,C++(1)C++是什么?C++的“前世今生”
The world is built on C++. ——Herb Sutter the chairman of the ISO C++ standards committee and chief n ...
随机推荐
- kafka groupid
kafka 分组 简言之,就是相同分组的消费者,会分摊消费kafka中同一个topic中的数据.
- Strom开发配置手册
一:Storm集群搭建 1.本次开发使用的是storm0.9.3 2.Storm0.9.3集群搭建: 1)storm集群角色包含集群主节点Nimbus:集群从节点Supervisor 2)集群安装:先 ...
- 简单创建一个“嗨新房”的mac客户端
下载地址:https://github.com/mapanguan/Mac_HiNewHouse
- 第一天:html+JavaScript函数
testjstry1.html 知识点1:求多组数据的和 function demo(a,b){ var sum=a+b; return sum;}var v1=demo(20,10);var v ...
- 经过实际验证的C#调用Haskell的方法
[系统环境] Windows Server 2008 R2,Haskell Platform 2013.2.0.0,ghc 7.6.3,cabal 1.16.0 [操作步骤] 1. 安装Windows ...
- 单片机编译器Keil提供的sprintf有点问题
AduC70xx系列,Keil提供的sprintf函数不太好用,好像有时会引起内存泄漏,造成不可预知的死机情况出现.
- ubuntu 环境 openstack 源码包制成 deb 包
安装软件: sudo apt-get install dh-make checkinstall cd neutron sudo checkinstall -D -y -install=no -pkgv ...
- POJ 2546
#include<iostream> #include<numeric> #include<iomanip> #include<algorithm> # ...
- One difference between AngularJS' $location and window.location
Recenently, I encountered a problem. Client side code is: $http({ url: "/api/runtimelicense&quo ...
- odoo开发笔记 -- 数据库备份策略
odoo默认的数据库为postgresql数据库, PG是个非常强大的数据库,也是未来的一个趋势. 对于odoo的数据备份,odoo提供了自己的备份方式, 1. 从前台页面.输入odoo应用访问地址, ...