C++newの使い方
997 ワード
ナレッジポイントのまとめ:
newは実際にはコンピュータに新しい空間を開くことを教えているが、一般的な宣言とは異なり、newが開いた空間はスタックにあり、一般的な宣言の変数はスタックに格納されている.一般に、ローカル関数においてnewが新しい空間を出すと、ローカル関数呼び出しが終了しても使用でき、主関数にパラメータを伝達するために使用することができる.また注意しなければならないのは、newの使用フォーマットで、newが出てくるのは空間の最初のアドレスです.そのため、一般的にこのアドレスをポインタで保存する必要があります.具体的なコードは以下の通りです.
newは実際にはコンピュータに新しい空間を開くことを教えているが、一般的な宣言とは異なり、newが開いた空間はスタックにあり、一般的な宣言の変数はスタックに格納されている.一般に、ローカル関数においてnewが新しい空間を出すと、ローカル関数呼び出しが終了しても使用でき、主関数にパラメータを伝達するために使用することができる.また注意しなければならないのは、newの使用フォーマットで、newが出てくるのは空間の最初のアドレスです.そのため、一般的にこのアドレスをポインタで保存する必要があります.具体的なコードは以下の通りです.
#include
using namespace std;
int example1()
{
// new
int *p = new int(3);
//
//*p = 3;
// , , new “*” new
int q = *new int;
q = 1;
cout << q << endl;
return *p;
}
int* example2()
{
// new ,
int *q = new int[3];
for(int i=0; i<3; i++)
q[i] = i;
return q;
}
struct student
{
string name;
int score;
};
student* example3()
{
//
// ,
student *stlist = new student[3]{{"abc", 90}, {"bac", 78}, {"ccd", 93}};
return stlist;
}
int main()
{
int e1 = example1();
cout <