Skip to content

Instantly share code, notes, and snippets.

@tado
Last active June 25, 2024 09:43
Show Gist options
  • Save tado/6eb5586fc29d6e9e94609b7461d6ad0d to your computer and use it in GitHub Desktop.
Save tado/6eb5586fc29d6e9e94609b7461d6ad0d to your computer and use it in GitHub Desktop.
C++ Pointer Explanation
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