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 ...
随机推荐
- [logic]逻辑整理
圈子详情页面: 1.加入圈子(*) 1.已登录,直接添加 2.未登录,登陆框 2.发表新帖(*) 1.已登录,直接跳转 2.未登录, ...
- poj3253哈夫曼树
Fence Repair Time Limit: 2000 MS Memory Limit: 65536 KB 64-bit integer IO format: %I64d , %I64u Java ...
- 数据库中表的位置,在sysdatabases中
name dbid sid mode status status2 crdate reserved category cmptlevel filename version master :: :: C ...
- [FMX]获取控件样式中的指定项目以便进行调节
[FMX]获取控件样式中的指定项目以便进行调节 2017-03-26 • C++ Builder.Delphi.教程 • 暂无评论 • swish •浏览 650 次 FMX 的样式丰富了我们的设计, ...
- hdu 1.3.4 shǎ崽 OrOrOrOrz
简单的排序,注意输出即可 #include <iostream> #include <algorithm> using namespace std; int main() { ...
- Opencv3.4:显示一张图片
Github https://github.com/gongluck/Opencv3.4-study.git #include "opencv2/opencv.hpp" using ...
- .net 使用HtmlAgilityPack做爬虫
HtmlAgilityPack官网:https://html-agility-pack.net/?z=codeplex .net中使用HtmlAgilityPack做爬虫步骤: 1.在nuget中安装 ...
- redis windows版本下载地址(不用hm提供的)
https://github.com/MicrosoftArchive/redis/releases
- 前端基础-html 字体标签,排版标签,超链接,图片标签
主要内容: 字体标签: h1~h6.<font>.<u>.<b>.<strong><em>.<sup>.<sub> ...
- 代码审计| HDWiki 漏洞(一)
i春秋核心白帽:yanzm 0×00 背景 最近拿到一个源码素材于是对这个源码进行分析发现了不少漏洞本篇先将一些漏洞进行分析下一篇再进行GetShell方法的分析期待和师傅们的交流. 0×01 漏洞分 ...