第10课.c++的新成员
2024-09-05 10:30:01
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;
}
最新文章
- nginx简易安装
- [转]为什么不能用memcached存储Session
- linux常用命令2
- poj3281(最大流)
- 【LintCode&#183;容易】用栈模拟汉诺塔问题
- linux内核源码分析 - nvme设备的初始化
- git教程:撤销修改
- 在控制台下玩玩dotnet core内置原生的DI
- 9、BOM (浏览器对象模型)
- 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
- Apache启用GZIP压缩网页传输
- log parser 微软iis 日志分析
- linux命令(31):more
- 《将一个字符串转换成datetime时,先分析该字符串以获取日期,然后再将每个变量放置到datetime对象中》的解决办法
- Tornado 高并发源码分析之一---启动一个web服务
- CompletionService的异常处理
- 菜鸟笔记 -- Chapter 6.4.3 多态
- Agile已死, Agility长存
- h5中的video与audio
- 使用python转换编码格式
热门文章
- Educational Codeforces Round 73 (Rated for Div. 2) D. Make The Fence Great Again(DP)
- $ 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
- .net上传大文件的解决方案
- LVS集群之IP TUN模式以及网站压力测试
- Django1.6 + jQuery Ajax + JSON 实现页面局部实时刷新
- SQL Labs刷题补坑记录(less54-less65)
- tp5 模型关联,多表联查实用方法
- 3.AOP中的IntroductionAdvisor
- 修改vscode终端样式
- LC 738. Monotone Increasing Digits