質問

通称-ここだわりポインター?

だん使い、オブジェクト指向言語のようActionScriptに、JavaやC#ないん重要性を理解するためのポインタのときは使用します。と思い。

役に立ちましたか?

解決

で間接指定:する機能を取り扱うものではないデータが言い直しておきたいデータが".また、同じコンセプトにJavaとC#のみを参照します。

鍵の相違点として文献を効果的に不変の訪れを常に点ん。これは、理解しやすく、柔軟なり、ポインタモデルです。Cのポインタ周辺に位置することができ楽しく書き換え.ることをご存知の文字列探しの文字列が指摘。もまだまだ若干の変更の道標はなし。

このカップルとC"、骨の近くにある、低レベルに必要な知識的に行えることを明らかにした。ま その char* foo れらの文字の位置を指摘し、foo道標はなし。いることも分かっていることで、この文字列は、少なくとも10文字の長さを変えることができまへの道標 (foo + 5) ポイントでその上で、その文字列で始の半分の長さです。

この柔軟性がたくさんある場合などに便利でどんなことをやっているのか、死んだ("知"による"知の言語"での"知の正確な状態のプログラム").か、道しるべを演出すの端の宮殿の近隣にあります。参考にさせない怒でいくものと確信できるようになりまくリスク(特にが結合などのルール"を参照されるオブジェクトを失うことはありません"として多くのゴミ収集します。

他のヒント

だが見つかりませんでした。理解にどのようにコンピュータで動作低レベルは非常に有用な数です。Cおよびアセンブラまいます。

基本的にポインタで書き物のいずれのコンピュータである。より原始的なハードウェア/OSや組込みシステムはこう何かと便利です。と言うのblinkenlichts切です。

もちろんのこない作業現代のシステム。経営システムは主に、マスタの主記憶.しようとした場合にアクセスを誤ったメモリ位置は、プロセスを支払hubrisと。

Cのポインタを格への参照データです。を呼び出すときは、機能によってお使いのコピー百万ビットをスタックです。代わりにだけ伝えて、データがどこに存在する。つまり、お願いしま ポインタ のデータです。

ある程度のことがどのようになるかもJava.渡ししますの参照オブジェではなく、オブジェです。覚えて最終的には、各オブジェクトのセットでビットコンピュータの主記憶です。

ポインタを直接操作する内容のメモリを消費します。

のようになっているかどうかっこいいでにどのようなからのオーダーに応えてきたCまたはアセンブラ.

高レベルの言語非表示のポインタの裏:例えば参考Java実際に参加者が見学できるのはポインタにはほとんどのJVMてきていただくのは、まるようNullPointerExceptionよNullReferenceException.などのようにプログラマが直接アクセスのメモリアドレスでポイントとすることはできな変更される値以外のアドレスのオブジェクトの正しいタイプです。なお、同電力(責任)のポインタの低レベルの言語でいます。

[編集:これは答えしてくれるかもしれないこだわりのヒント?'.すべての私に比べては、アセンブラ/CスタイルポインタのJava参照です。の質問タイトルが変更:たって、答えによらの問いう文語以外の言語のJava]

このような問いは要するに、"ここだわりのCPUの指示?私をお見逃しなければならないものがあるものは散x86MOV指示のだろうか?"

あなただけ 必要 ポインタがプログラミングしました。最高レベルのプログラミング言語の実装では、ポインタを使用して幅広くと、隠れたユーザーからのコンパイラです。

なので---ご安心ください。ご利用中のポインタで--とくに危険ですので間違えます。:)

いポインタのマニュアル伝送に車です。を学べば、その駆動車とオートマチックトランスミッショうな悪ドライバーです。やきもののほとんどのドライバーを習得したマニュアル送信ができます。あだったように感じたので同じ穴の知識。また、マニュアルまうトラブルに巻き込まれること.確かに、わかりやすいの基本コンセプトでまさしくその通りなのだが、ついに山を開始い螺.でも、あの場所のためのマニュアルトランスミッション.例えば、レース車を運転できることを必要シフト車に対応する最適な方、現在のレーシングます。このマニュアルの送受信が非常に重要です。

これは非常に類似のプログラミングします。が必要であるC/C++開発部ソフトウェアです。例えばハイエンド3Dゲームは、低レベルの組み込みソフトウェアも場合における重要な要素であるソフトウェアの目的は、低レベルの言語ができる身近にアクセスを実際のデータを処理するための鍵となる。しかし、ほとんどのプログラマの場合はこの限りではありません、知らずのポインタが牙を剥.しかしくないと思っていて楽しみながら学習Cのポインタは、マニュアルトランスミッションです。

またプログラミングオブジェクト指向言語だけです。

すオブジェクトは、インスタンスを生成オブジェクトBまでの方法として、パラメータオブジェクトCのオブジェクトCの変更一部の値をオブジェクトBときには振り出しに戻っているオブジェクトのコードは、変更後の値をオブジェクトBこれはなぜであろうか。

でき渡される 参考 オブジェクトをオブジェクトC、他のコピーオブジェクトBなオブジェクト、オブジェクトC保への参照が同じオブジェクトBメモリ。に変化させたと見られます。これによって呼び出されます。

現在ご利用の場合はプリミティブ型ではなく、intまたはfloatで、次の方法としてパラメータの変更オブジェクトC見ることはできませんがオブジェクト、オブジェクトでは、単に経過した コピー の代わりに参考に独自のコピーを可変となります。これによって呼び出されます。

おそらくすでに知っています。

今後はC言語機能が機能億いくつかの変数.これらの機能のパラメータをネイティブコピーによる値です。のための機能を操作するコピーに所属する機能、機能を必要 ポインタ の変数になりを通ります。

"こんにちは、"わらびもち"をここでは、メモリアドレスは私の整数を可変となります。の新たな価値る住所地まで送迎いたします。

注のコンセプトは同様が100%に似た.ポインタで以上に多くを通るだけでも"参考".ポインタを操作は任意の場所の記憶にも価値が必要です。ポインタを利用してポイントは新アドレス 実行コード 動的に実行は任意の論理だけでなく、データの変数.ポインタの場合でもポイント その他のポインタ (ダブルポインタ.る強力なものか簡単に紹介しく検出バグやセキュリティ脆弱性.

まだ見たポイント前にいろいこのミニの逸品:

void strcpy(char *dest, char *src)
{    
        while(*dest++ = *src++);
}

歴史的には、どのプログラミングを可能にしたのは、実現するメモリ位置がコンピュータの指示だけでなく、データです。

ポインタが生じて実現するメモリの場所も、アドレスのその他のメモリ場所をなく間接指定.せずにポインタ(低レベルで複雑なデータ構造が不可能である。ないリンクリスト、バイナリ-樹木やハッシュテーブルないよ参考のみによる値です。以降のポインタが点コードいただけませんので、これらもしていない仮想関数や機能の見上げます。

た利用のポインタと参照く私の日々の仕事に---管理コード(C#、Java)とポリ(C++,C).私はどう扱うかというポケットから...[Binky!!][1]も必要と)

の違いにポインタを参照する。ポインタでのアドレスブロックのメモリを消費します。では下記のように書き換えられます、すなわち再割り当てその他のブロックのメモリを消費します。参考にで名前の変更一部のオブジェクトです。にしか見ることができ付!度に対して割り当てオブジェクトで割り当てる事はできない。参考にはないアドレス、名前の変数となります。チェック C++FAQ 詳します。

Link1

LInk2

私は現在、腰の奥の設計、ハイレベルなエンタープライズソフトウェアるチャンクのデータで保存されSQLデータベースの、この場合)によって参照される1以上の他の機関となった。場合のチャンクデータが残っていないときにより実体参照がいを無駄に保管します。る場合参照ポイントでデータが存在しません、それは大きな問題です。

あの強い類似すると問題を抱えるメモリ管理の言語を使用するポインタ.で非常に有用などと意見交換ができたことは私の同僚のい例えですね。は削除するunreferencedデータは、"メモリleak"などです。参考その架け橋となるべく、たゆまぬ努力の"ぶポインタ".選択できる明示的に"解放"にし、"生ごみコレクション"の"リファレンスカウンター".

こちらでは、理解の低レベルのメモリ管理には高いハイレベルなアプリケーション.

Javaご利用中のポインタ。多変数へのポインタをオブジェは、なぜ:

StringBuffer x = new StringBuffer("Hello");
StringBuffer y = x;
x.append(" boys");
System.out.println(y);

...版画"こんにちは少年"ではなく、"Hello"とします。

唯一の違いはCであるので、追加から減算のポインタ-というだけの論理は間違ったことで、終了することができ起ゴデータなんかさわっています。

文字列は基本的にはCその他の言語).時のプログラミングC 管理すべきです。んだ"ということで、必要なバンチの文字列";必要なものを考えるとデータ構造です。どのくらいのメモリが必要でしょうかまた、これにより配分です。また、これにより無料です。ということかしたい10文字列を、それぞれ以80文字以内です。

大丈夫、各文字列は、文字の配列(81文字には欠かせない忘れの場合は、nullまたはいいません!) そして各文字列は、配列になります。最終結果を多次元配列のようなもの

char dict[10][81];

※ちなみに、この辞ではない"文字列"または"array"、"char".このポインタです。ときにプリントしてみたら楽しその一つの文字列を全てやっている範囲を明らかにするにはアドレス単一の文字;Cはまだ開始文字の印字が最終的にヒット、nullになります。すると仮定する場合は、一つの文字列は、飛躍81バイトまでの文字列になります。年を取ってくれてありがとうごのポインタを加え81バイトでの 唯一 ジャンプの文字列になります。

では、なぜポインタの重要になるのでしょうか。できるのではなにもない。できるなんて、とてもいいような印刷アイテムの学習プログレス文字列す 確かに できない面白いように実行リンクリスト、またはハッシュにはキューには、樹木、またはファイルシステムまたはメモリマネージメントコード、またはカーネルは---などを実行します。必要なものを理解しておくことでCで手にするメモリブロックをしましょうん、いいブロックの原料メモリを必要とポインタ.

また多くの人々によると、理解力のポインタの相関性の高いプログラミング能力です。ジョエルは、この引数です。例えば、

今の自由を認めるプログラミングのポインタを必要とせずに90%のコードを記述は、本日、このなんとも危険な生産コードです。OK。ことになる。およびプログラミングは比較にならないほどに用いられる。とします。

いますが、残念ながら重要な一部のプロです。せずにポインタは、例えば、すことができないかもしれない作品には、Linuxカーネルです。理解できないラインのコードをLinux、あるいは、実際には他の営業システム-イノベーション理のポインタ.

から こちらの.優れた。

正直、味付けに開発してい笑ばに優しい)している場合にポインタ.前職ではまた新卒採用は前年で卒業とな知へのポインタがだったので、それだけでも話題にしていきたいと考えており、節できる。なと思う人が大学院を知らずにポインタ...

参考文献のC++とは根本的に異なるから参考文献Javaいます。純言語.純言語は特別な種類の"byrefs"を行うC++"参考文献".

C++参照。純byref(また利用したいと思い、後期を区別します。純参照)が特殊なタイプを保持しない変数ではなく保持した情報を十分に特定の変数はできるものとしての行動において、配列などのスロット)を開催します。Byrefsは一般的にのみ使用して関数のパラメーター/引数とすることを意図してないから暫定的である。コードを通過するとbyref能を保証する変数を特定化する少なくともそれまでの機能を返しますが、機能は保証しないようご注意下さいコピーのbyref後戻りますのでご注意くださいC++、後者の制限は実施されず).このように、byrefsなoutliveの変数の識別に実行することを特徴とする。

Javaと.純言語で参照型を識別するのヒープオブジェクト;各ヒープオブジェクトに関連するクラスは、コードのヒープオブジェクトのクラスアクセスできるデータに格納されたオブジェクトです。ヒープオブジェクトの助成金以外のコード限定または全へのアクセスデータが保存され、及び/又は許可以外のコードを電話の特定のメソッド内でクラスです。利用への参照のメソッドを呼び出そのクラスが参照するため、この方法で、それでアクセスデータ(個人データのヒープオブジェクトです。

この参照の特別なJavaます。純言語は、その維持として絶対不変量に対し、全てのnull以外の参照を継続する同一のヒープオブジェクトとその参照が存在します。一度のないヒープオブジェクトが存在するなど、宇宙におけるヒープオブジェクト単純に停止することができます。がなのヒープオブジェクトが中止に存在し、それを参考に存在するもので、本当にありがとう"を通常"への参照ヒープオブジェクトに自発的なもの以外のものを参照するオブジェクトです。Javaの双方です。当期純ない特殊な"弱参照"の種類がもを守る不変な場合。ない場合は非弱参照オブジェクトも存在、宇宙、そして既存の弱参照は無効となります;回ることがありません、オブジェクトへの参照とすることができ無効になるかもしれないという

ポインタのように、両方のC++の参照およびJava/.純参照、物体を識別できるなど、上記の種類の参照できるoutliveのオブジェです。場合、オブジェクトで指定されたポインタが消滅すが、ポインターそのものにしかなりませんが、もうとするときに、その利用のポインタまでに定義されます。場合にポインタなれます null 特定のオブジェクトが現在存在するが、標準的な定義の方法 そのポインター以外を上書きで、地下鉄からも近くて便利。で完全に正当なのためのポインタが引き続き行なうことができるものとし、オブジェクト識別を停止したい、もっ用のポインタが必要なことがあるのだというの外にポインターかどうかを示す場合もありがとうございます。出のポインタです。

の主な相違点はポインタと参照(どちらのタイプではそれが参照でき、常にお願いする場合に有効です(いずものを有効な提としてnullが、これまでに見たものを有効なものと共有することとなったすべての彼らが存在します。ポインタできない場合に有効で、システムになるためのポインタなどが無効になるポインタが無効とすることとして認識されます。

長時間のなかった理解のポインタが受け付けていません配列ます。私はもともstorage areaオブジェクト、配列、およびその利用のインデックスが配列としてのポインタ。

SomeObject store[100];
int a_ptr = 20;
SomeObject A = store[a_ptr];

問題の一つはこのアプローチはその後の変更"A"、いように反映されないことがありますの店'配列の変化する永久:

store[a_ptr] = A;

裏では、プログラミング言語のやっていた複数のコピー。ほとんどの時間こんには影響します。で主にコードエラーが発生しやすいと繰り返す.

後では、どんな理解のポインタを移り住んだたらの実施の配列に対応す。この類推でも有効になります。ことを考えてみてくださるアーティストの配列によって運営される、プログラミング言語の実行ます。

SomeObject A;
SomeObject* a_ptr = &A;
// Any changes to a_ptr's contents hereafter will affect
// the one-true-object that it addresses. No need to reassign.

今では、使用ポイントができない正規のコピーオブジェクトです。いった理由をこの場合:

  1. を回避するためには高価なオブジェクトのコピー 操作のために ます。
  2. その他の要因にな認 オブジェクトのコピー動作します。
  3. したい機能の呼び出してい 側面に影響を及ぼすオブジェクトな パスのオブジェクトのポインタ 又.
  4. 一部の言語でご覧いただいた場合には、 戻り値から 機能も一般的に 回避).

ポインタの現実的な方法を表す間接に低いレベルのプログラミング言語まで

ポインタが必要な場合があります。)彼らは"点"では、メモリアドレスは、多くの内部構造として表されるポイント、文字列の配列がリストのポインタをポイント!ポインタで使用することも更新するための変数に渡されます。

必要なものにしたい場合に生成"オブジェクト"でのランタイム以外のブラウザはご利用にならなメモリを割り当てのスタック

パラメータefficencyパスを指すポインタ(Intを4バイトに対してコピー全体(arbitarily大)オブジェクトです。

Javaクラスの経路を通じての参照(基本的にポインタもまぁ、そうjavaの隠れからのプログラマを交換してください。

プログラミング言語C++での距離が全く異なる"metal"などです。ポインタを持のメモリ場所をご変数は、データ、機能等住まいです。とすることができますポインタの周りではなく通りすがりの価値(コピー変数のデータ。

が難しいヒント:

  1. ポインタにポインター、への対応等があります。でも隠.この誤りです。
  2. メモリへのポインターポイントはしばしばられており、ヒープは、お客様のご負担を放出する。大きめのご応募くにとって大きなダメージとなりますこの要件、またメモリが漏れることは難しいトラックです。

きの比較にポインタの行動にどのようにJavaオブジェクトが渡され、例外がJavaではありませんの心配を解放にはメモリとしてこの取扱いによるガベージコレクションこのようにするものポインタを持っていないというのネガ.でもメモリリークにJavaのコースでない場合de-参照オブジェが異なっていた。

でも、利用できるポインタのクライアントまで、フルのC#と通常参照)によるマーキングブロックのコードとして安全ではない。その後に実行できる周辺変化メモリのアドレスを直接、ポインタを演算すべてが楽しいんですよ。この非常に高速な画像操作のみ個人的に使用します。

私が知る限りではJava ActionScriptをサポートしない安全でないコードポインタ.

私は常に悩みのないものとしてポイントや参考文献高レベルの言語である。で有用な考えをもとに、より高いレベルで抽象化の動オブジェクト(またはもすぐに対しての観点から物事を考える"ように見合って送るアドレスのものがあり、そのものが返ってのポインタを別の何か"

考えてもスワップ機能です。の場合

ボスワップ(int&a,int b)

または

手続きスワップ(var a,b:整数)

そして解釈されるという意味での価値観を変更できます。ここでは実施しているのアドレスの変数はただのだから。

同じオブジェクト---なオブジェクト識別子としてポイントや参考文献への"もの".代わりに、考えて、物を送ることができます。でもプリミティブ言語C++ですが、多くの一層のスピードによる思考(書く)として高いレベルです。

以上書く2ラインのcまたはc++にごりよういただけます。

彼らは"ポインタをメモリ位置の変数となります。このような通過を可変による参考え.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top