c++(9)-new与namespace
2020-02-16 17:57
225 查看
内存分配
- C++动态内存分配 new
- 基于类型
- delete释放
Type * p = new Type; ... delete p;
Type * p = new Type ; ... delete [] p;
- new与malloc的区别 new是C++的一部分
- malloc是由C库提供的函数(即必须有库支持)
- new以具体类型为单位分配内存
- malloc以字节为单位分配内存
- new在为变量申请内存时可初始化变量
- malloc无法对内存初始化
命名空间
- C语言仅有一个全局作用域 C语言中所有全局标识符共享一个作用域,导致标识符之间可能冲突
- 命名空间将全局作用域分成不同的部分
namespace A { ... }
用法1:
#include <iostream> using namespace std; // 第一个命名空间 namespace first_space{ void func(){ cout << "Inside first_space" << endl; } } // 第二个命名空间 namespace second_space{ void func(){ cout << "Inside second_space" << endl; } } int main () { // 调用第一个命名空间中的函数 first_space::func(); // 调用第二个命名空间中的函数 second_space::func(); return 0; }
用法2:
#include <iostream> using namespace std; // 第一个命名空间 namespace first_space{ void func(){ cout << "Inside first_space" << endl; } } // 第二个命名空间 namespace second_space{ void func(){ cout << "Inside second_space" << endl; } } using namespace first_space; int main () { // 调用第一个命名空间中的函数 func(); return 0; }
用法3:
#include <iostream> using namespace std; // 第一个命名空间 namespace first_space{ void func(){ cout << "Inside first_space" << endl; } // 第二个命名空间 namespace second_space{ void func(){ cout << "Inside second_space" << endl; } } } using namespace first_space::second_space; int main () { // 调用第二个命名空间中的函数 func(); return 0; }
转载于:https://my.oschina.net/u/3472252/blog/917662
- 点赞
- 收藏
- 分享
- 文章举报
![](https://g.csdnimg.cn/static/user-reg-year/1x/3.png)
相关文章推荐
- c++(14)-继承
- C++顺序存储的线性表的代码
- C语言解决关于兔子的古典问题的代码
- C++ 学习笔记(一) cout 与printf 的不同之处
- C++ 学习笔记(二) const的加强
- C语言值传递与址传递
- C++课程笔记 Lesson 01
- 五道金融计算题在C语言上的实现
- iOS导入c++语言的静态库之后编译不过,先要检查是否导入了libstdc++
- c++ 编译出现error : identifier '_DebugHeapTag'
- C/C++内存四区
- c语言数字图像处理(二):图片放大与缩小-双线性内插法
- c语言数字图像处理(三):仿射变换
- c语言数字图像处理(五):空间滤波
- c语言数字图像处理(六):二维离散傅里叶变换
- c语言数字图像处理 4000 (七):频率域滤波
- c语言数字图像处理(八):噪声模型及均值滤波器
- c语言数字图像处理(九):边缘检测
- c语言数字图像处理(十):阈值处理
- MFC C++视频播放和视频的浓缩播放和检测目标接口