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的扩充的更多相关文章

  1. c#: 界面多语言动态切换简单实现

    终于有空整理下多语言实现思路.查阅已有方案,有用不同resx文件的,有每个控件动态设置的,有用反射去整的,颇为繁琐. 结合项目中实现方法,并做简化,实现通用的多语言切换方案,以做备忘. 它支持语言自定 ...

  2. 09GNU C语言程序编译

    1. C 语言程序概述 ​ GNU gcc 对 ISO 标准 C89 描述的 C 语言进行了一些扩展,其中一些扩展部分已经包括进 IOS C99 标准中.本节给出了内核中经常用到的一些 gcc 扩展语 ...

  3. 我是先学C语言还是先学C++,实不相瞒,鱼和熊掌可兼得!

    这是最近一周时间几个读者小伙伴所提的问题,我顺手截了两个图. 实不相瞒,这类问题之前也经常看到.     每次遇到这种问题,看起来很简单,但是打字一时半会还真说不清,想想今天周末了,写一篇文章来统一聊 ...

  4. C/C++ Lua Parsing Engine

    catalog . Lua语言简介 . 使用 Lua 编写可嵌入式脚本 . VS2010编译Lua . 嵌入和扩展: C/C++中执行Lua脚本 . 将C++函数导出到Lua引擎中: 在Lua脚本中执 ...

  5. C++学习4

    在C++中,定义函数时可以给参数指定一个默认的初始值.调用函数时,可以省略有默认值的参数.也就是说,如果用户指定了参数的值,那么就使用用户指定的值,否则使用参数的默认值. C++规定,默认参数只能放在 ...

  6. oracle PL/SQL(procedure language/SQL)程序设计

    PL/SQL(procedure language/SQL)语言是Oracle对SQL语言的过程化扩充,是一个完整的编程语言.PL/SQL实现了过程化语句(如分支.循环等)与SQL语句的无缝连接,将过 ...

  7. 深入浅出JavaScript函数 v 0.5

    本文的观点是建立在<JavaScript权威指南 6th Ed> <JavaScript高级编程 3th Ed> <JavaScript精粹 2th Ed>之上, ...

  8. C++引用(Reference)

    引用(Reference)是C++语言相对于C语言的又一个扩充,类似于指针,只是在声明的时候用&取代了*.引用可以看做是被引用对象的一个别名,在声明引用时,必须同时对其进行初始化.引用的声明方 ...

  9. 你好,C++(1)C++是什么?C++的“前世今生”

    The world is built on C++. ——Herb Sutter the chairman of the ISO C++ standards committee and chief n ...

随机推荐

  1. 简单创建一个“嗨新房”的mac客户端

    下载地址:https://github.com/mapanguan/Mac_HiNewHouse                

  2. [转载]持续交付和DevOps的前世今生

    作者/分享人:乔梁,20年IT老兵,腾讯公司高级管理顾问,敏捷和精益开发专家,持续交付领域先行者.曾就职于百度,国内多个知名互联网公司的企业教练. 历年QCon技术大会的讲师和专题出品人. 这是一个新 ...

  3. redis学习笔记-redis的安装

    Window 下安装 下载地址:https://github.com/MSOpenTech/redis/releases Redis 支持 32 位和 64 位.这个需要根据你系统平台的实际情况选择, ...

  4. vue.js 常用组件库

    vux github ui demo:https://github.com/airyland/vux Mint UI 项目主页:http://mint-ui.github.io/#!/zh-cndem ...

  5. 浏览器标识ua

    # LinuxLinux / Firefox 29: Mozilla/5.0 (X11; Linux x86_64; rv:29.0) Gecko/20100101 Firefox/29.0Linux ...

  6. 通过修改EIP寄存器实现远程注入

    功能:通过修改EIP寄存器实现32位程序的DLL注入(如果是64位,记得自己对应修改汇编代码部分) 原理: 挂起目标进程,停止目标进程EIP的变换,在目标进程开启空间,然后把相关的指令机器码和数据拷贝 ...

  7. 预处理命令使用详解----#if、#endif、#undef、#ifdef、#else、#elif

    预处理命令 在接触#if.#undef这类预处理指令前,大部分都都接触过#define.#include等预处理命令,通俗来讲预处理命令的作用就是在编译和链接之前,对源文件进行一些文本方面的操作,比如 ...

  8. jQuery基础(4)- 位置信息、事件流、事件对象、事件代理、jquery事件

    一.jQuery的位置信息 jQuery的位置信是JS的client系列.offset系列.scroll系列封装好的一些简便api. 1.宽度和高度 a.获取宽度和高度,例如: .width() // ...

  9. [Vue] vue-cli3.0安装

    1. node.js安装https://nodejs.org/en/download/ 2.npm的安装 由于新版的nodejs已经集成了npm,所以之前npm也一并安装好了.同样可以通过输入 &qu ...

  10. mybatis四大接口之 ResultSetHandler

    1. 继承结构 2. ResultSetHandler public interface ResultSetHandler { // 将Statement执行后产生的结果集(可能有多个结果集)映射为结 ...