1.动态内存分配

a.c++中通过new关键字进行动态内存申请

b.c++中的动态内存申请是基于类型进行的

c.delete关键字用于内存释放

2.new关键字与malloc函数的区别

a.new关键字是c++的一部分

malloc是由c库提供的函数

b.new以具体类型为单位进行内存分配

malloc以字节为单位进行内存分配

c.new在申请单个类型变量是可以进行初始化

malloc不具备内存初始化的特性

eg:new关键字的初始化操作

int   *pi = new int(1);
float *pf = new float(2.0f);
char *pc = new char('c');

3.c++中的命名空间

C语言:

在c语言中只有一个全局作用域

a.c语言中所有的全局标识符共享一个作用域

b.标识符之间可能发生冲突

C++:

c++中提出来命名空间的概念

a.命名空间将全局作用域分化成不同的部分

b.不同命名空间中的标识符可以同名而不会发生冲突

c.命名空间可以互相嵌套

d.全局作用域也叫默认命名空间

c++命名空间的定义:

namespace Name
{
namespace Internal
{
//这个命名空间的作用域
}
//这个命名空间的作用域
}

4.命名空间的使用

a.使用整个命名空间:

using namespace name;

b.使用命名空间中的变量:

using name::variable;

c.使用默认命名空间中的变量:

::variable

eg:

#include <stdio.h>

    //定义命名空间
namespace First
{
int i = 0;
} //定义命名空间
namespace Second
{
int i = 1; namespace Internal
{
struct P
{
int x;
int y;
};
}
} int main()
{
using namespace First; //使用First命名空间中的一切东西
using Second::Internal::P; printf("First::i = %d\n", i); //这里的i是First中的i
printf("Second::i = %d\n", Second::i); P p = {2, 3}; printf("p.x = %d\n", p.x);
printf("p.y = %d\n", p.y); return 0;
}

最新文章

  1. nginx简易安装
  2. [转]为什么不能用memcached存储Session
  3. linux常用命令2
  4. poj3281(最大流)
  5. 【LintCode&#183;容易】用栈模拟汉诺塔问题
  6. linux内核源码分析 - nvme设备的初始化
  7. git教程:撤销修改
  8. 在控制台下玩玩dotnet core内置原生的DI
  9. 9、BOM (浏览器对象模型)
  10. Type Operators instanceof is used to determine whether a PHP variable is an instantiated object of a certain class/a class that implements an interface
  11. Apache启用GZIP压缩网页传输
  12. log parser 微软iis 日志分析
  13. linux命令(31):more
  14. 《将一个字符串转换成datetime时,先分析该字符串以获取日期,然后再将每个变量放置到datetime对象中》的解决办法
  15. Tornado 高并发源码分析之一---启动一个web服务
  16. CompletionService的异常处理
  17. 菜鸟笔记 -- Chapter 6.4.3 多态
  18. Agile已死, Agility长存
  19. h5中的video与audio
  20. 使用python转换编码格式

热门文章

  1. Educational Codeforces Round 73 (Rated for Div. 2) D. Make The Fence Great Again(DP)
  2. $ python manage.py makemigrations You are trying to add a non-nullable field &#39;name&#39; to course without a default; we can&#39;t do that (the database needs something to populate existing rows). Please selec
  3. .net上传大文件的解决方案
  4. LVS集群之IP TUN模式以及网站压力测试
  5. Django1.6 + jQuery Ajax + JSON 实现页面局部实时刷新
  6. SQL Labs刷题补坑记录(less54-less65)
  7. tp5 模型关联,多表联查实用方法
  8. 3.AOP中的IntroductionAdvisor
  9. 修改vscode终端样式
  10. LC 738. Monotone Increasing Digits