ぼく用あれこれまとめ

ポインタ総復習

最終更新:

bokuyo

- view
管理者のみ編集可

ポインタ総復習。


この記事は左に寄り過ぎています。
真ん中はこの辺


もうだめかもしんない。ポインタ使ってるとわけわからん。

#include <iostream>

int main()
{
	int eureka = 7;
	int* renton = &eureka;

	//指してるアドレスを表示
	std::cout << renton << std::endl;

	//指してる場所が持つ値を表示
	std::cout << *renton << std::endl;

	//自分自身のアドレスを表示
	std::cout << &renton << std::endl;

	//int*型のポインタも定義できる
	int** unco = &renton;

	//int**型のポインタも定義できる
	int*** pants = &unco;

	return 0;
}

ポインタはこう考えてはいかがです?

これはあくまでもぼくが思う考え方であって、C++の定義や仕様とは逸脱している可能性がありますのよ。
  • ポインタは特別なものではないの。
  • int型やfloat型、ほかにもstring型やvector型があるように、ポインタも型のひとつなの。
  • つまり、「int型のポインタ」ではなくて「int*型("int型のポインタ"型)」というような感じ。
  • じゃあ、int型は整数を、float型は浮動小数点を要素にしますけども、「int*型」は何をもつの?
  • それはね、「int型のアドレス」をもつの。あとは他の型と使い方は同じよ。なーにただそれだけよ。
  • どう?ポインタってそんなにむつかしくないでしょ?
  • そんな経緯で、「int *unco;」ではなくて、「int* unco;」と書く方が好きなのです。

コメント

修正したほうがいい箇所や疑問点、気になったことなどを気軽に書く欄(あまりにも長期戦となるような議論的なコメントは他の媒体でやる方針で)
あと、ページが重くなるのと見づらくなりそうなのを防ぐためコメントは定期的に削除してwikiに改めてまとめます。
たとえて言うなら、コメントだけでページの半分を埋め尽くされたwikipediaを見たくない心理に近い。

名前:
コメント:
記事メニュー
ウィキ募集バナー