c++操作符new 与delete学习(1)
2016-05-08 16:55
246 查看
看代码:
#include<stdio.h>
#include<stdlib.h>
#include<iostream>
//new 一个int
void main01()
{
int num = 10;//栈上
int *p = new int;
*p = 5;
std::cout << *p << " " << p << std::endl;
delete p;
std::cout << *p << " " << p << std::endl;
system("pause");
}
//new 一个int 数组
void main02()
{
int *p = new int[10];
int i = 0;
std::cout << p << std::endl;
for (int i = 0; i < 10; i++)
{
p[i] = i;
std::cout << p[i] << std::endl;
}
delete []p;
std::cout << p << std::endl;
system("pause");
}
//new 一个int 二维数组
void main04() {
int *p = new int[80];
int(*px)[10] = (int(*)[10])p; //强转
int data = 0;
for (int i = 0; i < 8; i++)
{
for (int j = 0; j < 10; j++)
{
px[i][j] = data++;
std::cout << " " << px[i][j];
}
std::cout << std::endl;
}
system("pause");
}
#include<stdio.h>
#include<stdlib.h>
#include<iostream>
//new 一个int
void main01()
{
int num = 10;//栈上
int *p = new int;
*p = 5;
std::cout << *p << " " << p << std::endl;
delete p;
std::cout << *p << " " << p << std::endl;
system("pause");
}
//new 一个int 数组
void main02()
{
int *p = new int[10];
int i = 0;
std::cout << p << std::endl;
for (int i = 0; i < 10; i++)
{
p[i] = i;
std::cout << p[i] << std::endl;
}
delete []p;
std::cout << p << std::endl;
system("pause");
}
//new 一个int 二维数组
void main04() {
int *p = new int[80];
int(*px)[10] = (int(*)[10])p; //强转
int data = 0;
for (int i = 0; i < 8; i++)
{
for (int j = 0; j < 10; j++)
{
px[i][j] = data++;
std::cout << " " << px[i][j];
}
std::cout << std::endl;
}
system("pause");
}
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- 关于指针的一些事情
- c++ primer 第五版 笔记前言
- share_ptr的几个注意点
- Lua中调用C++函数示例
- Lua教程(一):在C++中嵌入Lua脚本
- Lua教程(二):C++和Lua相互传递数据示例
- C++联合体转换成C#结构的实现方法
- C++高级程序员成长之路
- C++编写简单的打靶游戏
- C++ 自定义控件的移植问题
- C++变位词问题分析
- C/C++数据对齐详细解析
- C++基于栈实现铁轨问题
- C++中引用的使用总结
- 使用Lua来扩展C++程序的方法
- C++中调用Lua函数实例
- Lua和C++的通信流程代码实例
- C与C++之间相互调用实例方法讲解
- 解析C++中派生的概念以及派生类成员的访问属性