new关键字的使用

来源:互联网 发布:知乎live打包百度云 编辑:程序博客网 时间:2024/05/21 11:27
<pre class="cpp" name="code">

方式一:
#include <iostream>int main(){using namespace std;int *P_Int = new int;*P_Int = 1001;cout << "int1 " << "value " << *P_Int << endl;cout << "RAM1 " << "value " << P_Int << endl;cout << "*P_Int" << " value " << sizeof(*P_Int) << endl;int *Q_Int = P_Int;cout << "int2 " << "value " << *Q_Int << endl;cout << "RAM2 " << "value " << Q_Int << endl;cout << "*Q_Int" << " value " << sizeof(*Q_Int) << endl;return 0;}


方式二:

#include <iostream>int main(){using namespace std;int *P_Int = new int;*P_Int = 1001;cout << "int1 " << "value " << *P_Int << endl;cout << "RAM1 " << "value " << P_Int << endl;cout << "*P_Int" << " value " << sizeof(*P_Int) << endl;int *Q_Int = new int;*Q_Int = *P_Int;cout << "int2 " << "value " << *Q_Int << endl;cout << "RAM2 " << "value " << Q_Int << endl;cout << "*Q_Int" << " value " << sizeof(*Q_Int) << endl;return 0;}


方式三:new 和delete 共同使用

#include <iostream>int main(){using namespace std;int *P_Int = new int;*P_Int = 1001;cout << "int1 " << "value " << *P_Int << endl;cout << "RAM1 " << "value " << P_Int << endl;cout << "*P_Int" << " value " << sizeof(*P_Int) << endl;//int *Q_Int = new int;//*Q_Int = *P_Int;int *Q_Int = P_Int;cout << "int2 " << "value " << *Q_Int << endl;cout << "RAM2 " << "value " << Q_Int << endl;cout << "*Q_Int" << " value " << sizeof(*Q_Int) << endl;//new关键字用来在c++的分配内存,delete用来删除分配的对应内存,一定要配对使用delete Q_Int;//释放内存return 0;}



方式四:使用new创建动态数组 并使用delete[ ] 进行释放内存

//格式:typeNAME pointer_name=new typeNAME[num_elements]

#include <iostream>int main(){using namespace std;double *P_D = new double[3];P_D[0] = 0.2;P_D[1] = 0.6;P_D[2] = 0.9;cout << "Now P_D[0]= " << P_D[0]<<endl;;P_D = P_D+ 1;//指针加一//P_D[0] = P_D[0]+ 1;//error,表示给该值加1,最终为1.2cout << "OK, it changes to " << P_D[0] << endl;P_D = P_D - 1;//指针减一cout << "OK, the second change value is  " << P_D[0] << endl;delete[] P_D;return 0;}



0 0
原创粉丝点击