new演算子でオブジェクト生成
スポンサーリンク
スポンサーリンク
ライフスタイル関連のコンテンツ
お金 | 仕事 | 勉強 | プライベート | 健康 | 心
プログラミング関連のコンテンツ
C言語/C++入門 | Ruby入門 | Python入門 | プログラミング全般
お金 | 仕事 | 勉強 | プライベート | 健康 | 心
プログラミング関連のコンテンツ
C言語/C++入門 | Ruby入門 | Python入門 | プログラミング全般
以下のような、profクラスの配列を作成しようとすると、メモリを静的に割り当てることになり領域を使いすぎてしまいます。
そこで、動的にメモリ割り当てを行うために、new演算子を用いてオブジェクト生成を行います。
演算子newは、変数を格納する領域を割り当てて、ポインタを返します。
スポンサーリンク
#include <iostream>
int main() {
class prof {
public:
std::string name;
std::string address;
std::string tel;
int age;
float weight;
float height;
};
// profオブジェクトを生成し、ポインタ作成
prof someone;
prof *someone_ptr;
someone_ptr = &someone;
std::cout << someone_ptr << "\n";
// profオブジェクトをnew演算子で生成
// personのオブジェクトに領域を割り当て、ポインタを返す。
prof *another_ptr;
another_ptr = new prof;
std::cout << another_ptr << "\n";
// 配列を割り当て
int *array_ptr;
array_ptr = new int[80];
std::cout << array_ptr << "\n";
return 0;
}
実行結果。
0012F348 00426CA0 00426EB0
ヒープ領域として、どのあたりのアドレスが確保されているのかを確認できます。
スポンサーリンク
>> 次の記事 : delete演算子
<< 前の記事 : new演算子・動的メモリの割り当て
- - 関連記事 -
- ツリー
- 二重リンクリスト
- リンクリストの指定した箇所に要素を追加
- リンクリスト
- delete演算子
- new演算子・動的メモリの割り当て
- 構造体とポインタ
- 配列のポインタ宣言
- 配列とポインタ・アドレスのインクリメントを確認
- 定数ポインタ
- ポインタとは
スポンサーリンク