問題タブ [double-pointer]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
91 参照

c - uint** を uint にキャストする

私は以下のコードを持っています

packet_space は char[] で、基本的に unsigned int に変換したい 4 バイトの char 配列です。deconstructPacketHeader() は unsigned int を取りますが、stroutll (私のキャストでは) は double ポインターを返しています。基本的に、 uint の実際の値を取得するにはどうすればよいですか (逆参照を 2 回)、deconstructPacketHeader() に渡すことができますか?

ありがとう!

0 投票する
2 に答える
291 参照

c - ダブルポインタ配列の設定

二重ポインタに関する質問がたくさんあることは知っていますが、配列の開始に関する質問は見つかりませんでした。

以下のコードでは、 によって main にポインターを設定できますが、 を呼び出すとptrs[0] = &array[0];コードが停止します。何故ですか?問題があるかどうかはわかりませんが、ptrs[] は初期化されていません。enqueue()*queue[i] = p;

0 投票する
1 に答える
439 参照

c++ - ポインターへのポインター: リンクされたリストの分割

私はポインタでより簡単になろうとしています。そこで、楽しみのために、リンクされたリストを値で分割する次の C++ 関数を使用しました。

代わりにCスタイルのダブルポインターを取るように変更しようとしました。私は無知な検索置換を行いましたが、うまくいきませんでした。調べてみると、問題の原因がわかりましたが、何が起こっているのかまだよくわかりません...

最初のループでは、関数の while ループの先頭付近にある 4 つのデバッグ出力行すべてが「1」を出力します。ただし、2 番目のループでは、「2」、「2」、「2」、「3」と出力されます。

誰が何が起こっているのか説明できますか? ポインターへの参照の代わりにダブルポインターを使用する正しい方法は何ですか?

ありがとう!

0 投票する
1 に答える
342 参照

pointers - 未知のサイズの 2D 正方配列にポインターを割り当てる方法は?次の関数の何が問題なのですか?

これが私が試したコードです、セグメンテーション違反が結果でした..

0 投票する
3 に答える
210 参照

c - Cのダブルポインター、コードの割り当て警告

次のコードで警告が表示される理由がわかりません。

ダブルポインタにメモリを動的に割り当てる方法は他にありますか?

0 投票する
4 に答える
2980 参照

c - 構造体内の構造体へのダブルポインタ

構造体ポインターの二重ポインターにアクセスするにはどうすればよいですか?? 以下のコードで addBow() を呼び出すと、Segmentation fault (core dumped) エラーが発生します

graph->cities[id] の正しい構文はどれですか??

ありがとう

解決策: メモリが割り当てられていないため、initGraph を編集すると問題が解決します

0 投票する
2 に答える
712 参照

c++ - ポリモーフィック ツリー クラスのダブル ポインター アップキャスト (再び)、shared_ptr およびジェネリック setChild 関数

、、、、Nodeなどの多くのサブクラスで派生した抽象クラスColorがあり、アプリケーションのユーザー データが含まれています。データは、これらのノードの大きなツリーで構成されています。各サブクラスには、固定型の固定数の子があります。たとえば、Material は 1 つの Color 子と 1 つの Texture 子を持つことができます。これらは として保存されますTextureShapeLightNodestd::shared_ptr

現在、各クラスは引数としてsetChildを受け取るメソッドを派生させます。Node各実装は、それに応じて型とその子の型をチェックし、dynamic_cast成功した場合はそれを設定します。

サブクラス化する必要なく、ジェネリックsetChildメソッドを に実装したいと思います。Nodeこのために、各サブクラスは、名前文字列、型文字列 (サブクラスに対応する)、および a へのポインターを与えることにより、コンストラクターでその子を宣言 (または登録) しshared_ptrますNode

あなたは今問題を見ることができます:

  • を使用しますが**SubClass**Nodeこれは悪いことだとわかっていますが、各サブクラスにはtype()クラスを一意に識別するメソッドがあり、登録された子ごとにその型がわかっているため、誤ったポインター型を保存しないように再確認できますダブルポインタ。
  • 実際にはこれを**Nodeではなく で行い*std::shared_ptr<Node>ます。ここで私は正しいことをするかどうか確信が持てません。

質問:

  • タイプがわかっている場合でもashared_ptr<Subclass>で aを設定することはできますか?*shared_ptr<Node>
  • これはあなたがやったであろう方法で設計されていますか?

ありがとう、

エティエンヌ