尼古拉斯凯奇新电影,mingxingyinluan,西游记三借芭蕉扇
目录
c++中的动态内存分配
//变量申请与释放 type *pointer = new type; delete pointer; //数组申请与释放 type *pointer = new type[n]; delete[] pointer;
#include <stdio.h> int main() { int *p = new int; *p = 5; *p = *p + 10; printf("p = %p\n", p); printf("*p = %d\n", *p); delete p; p = new int[5]; for (int i = 0; i < 5; i++) { p[i] = i + 1; printf("p[%d] = %d\n", i, p[i]); } delete[] p; return 0; }
new关键字与malloc函数的区别
int *pi = new int(1)
、char *pc = new char('c')
等在c语言中只有一个全局作用域,所有的全局标识符共享同一个全局作用域,因此标识符之间可能发生冲突。
为了解决该问题,c++中提出了命名空间的概念。
c++命名空间的定义方法为
namespace name { //...... }
c++命名空间的使用方法为using namespace name;
using namespace name;
using name::variablel
::variable
#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; using second::internal::p; printf("first::i = %d\n", 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; }
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
如何在没有core文件的情况下用dmesg+addr2line定位段错误
用QT制作3D点云显示器——QtDataVisualization
网友评论