- 締切済み
なぜポインタという概念が誕生したの?
chachaboxxの回答
- chachaboxx
- ベストアンサー率23% (412/1777)
ポインタの機能は住所のGPS座標と同じです。場所を管理する最も単純な方法です。 GPS座標では直感で地域が判りにくいですが、住所情報で飛行計画を作るのも判りにくいです。 速度はアルゴリズム次第だと思います。 ポインタを使わないメモリーアクセスの方が一般的です。
関連するQ&A
- 【なぜポインタを使うのか】
私は、ポインタのメリット・デメリットを以下のように考えています。 ◆メリット メモリを多く確保しなければならないオブジェクトについて、コピー処理を行うことなく省メモリでインタフェースできる。 ◆デメリット ・関数内でしか使用しない非ポインタのローカル変数に比べ、 アクセス可能な場所が多くなってしまい、色んな箇所から値が変更されうる。(影響範囲の限定がしずらい) ・可読性が低くなる。(若いエンジニアはCの経験者は少なくっていくと思われるため、保守コストが若干割高になる) そのため、よっぽどメモリを多く使うようなオブジェクトでなければ、 (もしくは速度を重視する必要があるプログラムでなければ) 値渡しにしても良いのではと考えています。 しかし、度々目にするソースは、何でもかんでもポインタで処理しているものも多々見受けられます。 特に、int型のようなメモリを大量に使用しないものでも、ポインタで変数宣言しているケースもよく見ます。 なぜなのでしょうか? (熟練のC言語プログラマが、昔ながらの記述を踏襲しているというのはあるのかなと考えていますが)
- ベストアンサー
- C・C++・C#
- 「ポインタ」とはそんなに素晴らしいものなの?
どこかの書籍に記載されていたのですが、 >「ポインタ」は魅力があるすばらしいものだ。 上記の一文が掲載されていたのですが、こんな難しい概念。どこが素晴らしいものなんですか? こんなものに絶賛するのは本を執筆した著者だけだと思いますが、どうなんでしょうか? プログラマーの方、感想及び回答のほうお願いします。
- 締切済み
- アンケート
- ポインタのミスでOS壊れるのでしょうか?
c言語の開発環境VC++を持っていますがポインタの処理で間違いそうで なかなかコードのケアレスミスが怖くてポインタやmallocを含んだコードを実行できないでいるのですが、そもそもポインタやmallocのコードミスでOSが壊れてos再インストールなどに陥るものなのでしょうか?保護違反などが出てきてパソコン再起動なんかが起こるのでしょうか?
- ベストアンサー
- C・C++・C#
- ポインタの宿題が解けません。
C言語でポインタを勉強しているのですが、 char型のアドレス:0022FF47 int型のアドレス:0022FF40 が今あるとして、 このアドレスのメモリの中身はどんな状態になっていますでしょうか? visual studioのwatch で見る以外の方法で分かりましたらお願いします。
- 締切済み
- C・C++・C#
- C++言語のポインタについて
現在、C++言語を学習しているのですが、 ポインタを使わない、 int main() { Human human; human.Introduction(); } と、ポインタを使った、 int main() { Human *p; p = new Human; p->Introduction(); delete p; } があります。どちらも同じ動作をしますが、ポインタを使ったものがよく使われているのは、 メモリの節約?動作速度?のためなのでしょうか? なぜ使われるのか教えてください。
- ベストアンサー
- C・C++・C#
- ポインタはどんな時に使うものなの?
僕は最近C++の勉強をしている高校生です。 さっそくですが質問です。最近、ポインタを覚えました。 ポインタはメモリの番地を指定できるから低レベル処理に使えると聞きましたが その他ではいったい何に使えるのか想像がつきません。 具体的にどんな処理に使うのでしょうか? お暇があればご回答ください。
- ベストアンサー
- C・C++・C#
- なぜ「C言語」にOOPが実装されなかったの?
1972年に開発された「C言語」(C++ではない)には「オブジェクト指向」というのがないのですが、なぜ「C言語」に「オブジェクト指向」というのが実装されなかったのですか? 「オブジェクト指向プログラミング」は1960年代後半に登場していたのですが、後発の「C言語」には「ポインタ」はあっても「オブジェクト指向」というのがありません。なぜ「オブジェクト指向」は実装されなかったのでしょうか? 当時コンピュータの性能が低かったため実装が難しかったことと、まだ当時オブジェクト指向自体が無名だった為、「C言語」の開発者自体も知らなかったということもあるのでしょうか?
- 締切済み
- C・C++・C#