Last active
June 25, 2024 09:43
-
-
Save tado/6eb5586fc29d6e9e94609b7461d6ad0d to your computer and use it in GitHub Desktop.
C++ Pointer Explanation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
int val = 123; // 値を代入 | |
cout << "val: " << val << endl; // 値を表示 | |
cout << "&val: " << &val << endl; // 値が格納されているアドレスを表示 | |
int* ptr; // ポインタを作成 | |
ptr = &val; // ポインタにアドレスを格納 | |
cout << "ptr: " << ptr << endl; // 値が格納されているアドレスを表示 | |
cout << "*ptr: " << *ptr << endl; // ポインタに格納された値を表示 | |
int* intPtr = new int(); // Int型値を格納する領域をメモリーに新規生成 | |
*intPtr = 456; // ポインタに値を格納 | |
cout << "intPtr: " << intPtr << endl; // 値が格納されているアドレスを表示 | |
cout << "*intPtr: " << *intPtr << endl; // ポインタに格納された値を表示 | |
delete intPtr; // 生成したメモリー領域を削除 (値も削除) | |
cout << "intPtr: " << intPtr << endl; // 値が格納されているアドレスを表示 | |
cout << "*intPtr: " << *intPtr << endl; // ポインタに格納された値を表示 | |
shared_ptr<int> sPtr(new int()); // shared_ptrを使ってInt型値を格納する領域をメモリーに新規生成 | |
*sPtr = 789; // ポインタに値を格納 | |
cout << "sPtr: " << sPtr << endl; // 値が格納されているアドレスを表示 | |
cout << "*sPtr: " << *sPtr << endl; // ポインタに格納された値を表示 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment