----------cin和cout
cin 的作用类似C语言中的scanf
cout 的作用类似C语言中的printf
区别:cin和cout不是函数,是C++中用来进行输入和输出的一个对象
使用时,不需要去指定格式符(%d,%c,%f之类的),在使用时,要包含头文#include<iostream>
cin和cout可以理解为变量,它们是存在于一个叫做”std“的命名空间里面,所以,使用它们的时候要按命名空间的规矩来使用:std : : cin
格式:std : : cin >> 变量; std : : cout << 输入内容 ;
#include<iostream>
int main()
{
int num;
std::cin >> num;
std::cout << num;
std::cout << num << std::endl;//输出后换行
return 0;
}
注意:
1.在C语言中,输出换行时是用”\n“来完成(printf("%d\n", num);)。在使用C++时,std这个命名空间给了一种新的方法:" endl "(例如上面的例子,因为是在std命名空间内,所以要用“ ::”)
2.如果嫌每次都使用“ std : : ”非常的不方便,繁琐,可以在头文件后面加入“ using namespace std; ”后续使用可直接使用
#include<iostream>
using namespace std;
int main()
{
int num;
cin >> num;
cout << num;
cout << num << endl;//输出后换行
return 0;
}
3.字符串输入时和C语言一样,加 “ ”
cout << "num =" << num;
4.如果,你既不想复杂繁琐又不想使用" using namespace std;“(因为std这个命名空间很大,
里面有非常非常多的东西),你只是想用cin,cout endl这三个,那么使用" using std : : '你需要使用的对象' ”去替代" using namespace std;“
#include<iostream>
//using namespace std;
using std ::cin;
using std::cout;
using std::endl;
----------new和delete
new类似C语言中的malloc (申请内存)
delete类似C语言中的free (释放内存)
用法:
using namespace std;
int main()
{
//1.申请单个内存
int* p1 = new int;//申请一个int类型大小的内存,返回的是一个指针,用int类型的指针去接收一下
*p1 = 5;//申请完毕后就可以去使用它了
//2.申请单个的内存且初始化
int* p2 = new int(6);
cout << "p2 = "<< * p2 << endl;
//3.批量申请(连续的内存)
int* p3 = new int[10];//申请了10个int类型的空间
for (int i = 0; i < 10; i++)
{
p3[i] = i;
cout << "p3[" << i << "] =" << p3[i] << endl;
}
//delete 用法
delete p1;//单个内存,直接释放
delete p2;
delete[] p3;//释放连续的一段内存
return 0;
}
注意:
1.连续赋值的时候,就没办法给初值了(因为没地方写了嘛,int后面是“[ ]”)
2.释放p3时,在delete后加“ [ ] ”。只要你加了中括号,以为着就要连续释放,一直释放到前面new申请的时候做标记的地方(new 申请的时候C语言内部给予结尾了一个标记)。
3.delete连续释放的时候,它属于是从当前位置开始向后释放到标记处,所以连续释放的时候必须要是首地址(p3),如果不是,会有一部分释放不掉