問題タブ [pointers]

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 投票する
28 に答える
84274 参照

c++ - ポインターを理解する上での障壁は何ですか?また、それらを克服するために何ができるでしょうか?

C や C++ の大学レベルの新入生だけでなく、年配の学生にとっても、ポインターが混乱の主な要因である理由は何ですか? ポインターが変数、関数、およびその先のレベルでどのように機能するかを理解するのに役立つツールや思考プロセスはありますか?

全体的なコンセプトにとらわれずに、誰かを「ああ、わかった」のレベルに引き上げるために実行できる優れたプラクティスには、どのようなものがありますか? 基本的に、ドリルのようなシナリオです。

0 投票する
9 に答える
702625 参照

c - Cで関数をパラメーターとしてどのように渡しますか?

一連のデータに対してパラメーターによって渡される関数を実行する関数を作成したいと考えています。Cで関数をパラメーターとしてどのように渡しますか?

0 投票する
9 に答える
14877 参照

c - C 関数ポインターでより多くのパラメーターを渡す

チェスのプログラムを作成しているとしましょう。私には機能があります

これは、有効な移動ごとに関数ポインター アクションを呼び出します。これで問題ありませんが、アクション関数にさらにパラメーターを渡す必要がある場合はどうすればよいでしょうか? 例えば:

関数ポインターを再定義することは、最適な解決策ではありません。foreachMove 関数は用途が広く、コード内のさまざまな場所で参照されています。これらの参照のそれぞれが、必要のないパラメーターを含めるために関数を更新する必要があるのは意味がありません。

ポインターを介して呼び出している関数に追加のパラメーターを渡すにはどうすればよいですか?

0 投票する
5 に答える
3597 参照

c++ - double ポインターの配列を、それらが指す値に基づいて並べ替えるにはどうすればよいですか?

配列をソートし、各値をその「スコア」またはランクに置き換える関数を C/C++ で作成しようとしています。これは、int の配列への double ポインター配列を受け取り、逆参照された整数の値に基づいて double ポインターをソートします。私はそれを機能させるためにかなりの回数を試みましたが、それを落とすことはできません。繰り返しになりますが、double ポインターは、それらが指す値に基づいてソートする必要があります。これは私が持っているものです:

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

pointers - ポインターマネージ C++ へのポインター

void** を取る関数を含む古い C ライブラリがあります。

マネージ C++ からこの関数を呼び出そうとしています (m_pStuff は void* 型の親 ref クラスのメンバーです):

これにより、Visual Studio から次のエラーが表示されます。

エラー C2440: 'static_cast': 'cli::interior_ptr' から 'void **' に変換できません

私は、コンパイラが void* メンバー ポインターを背後で cli::interior_ptr に変換していると推測しています。

これを行う方法に関するアドバイスはありますか?

0 投票する
8 に答える
6229 参照

c++ - C++ メモリ管理

私は大学で、常に未使用のオブジェクトを解放する必要があることを学びましたが、実際に解放する方法は必要ありません。たとえば、コードを正しく構造化するなどです。C++ でポインターを処理する方法に関する一般的な規則はありますか?

現在、ブーストの使用は許可されていません。私が使用しているフレームワークではジェネリックの使用が禁止されているため、純粋な C++ に固執する必要があります。

0 投票する
8 に答える
806112 参照

c++ - 通常のキャストvs.static_castvs.dynamic_cast

私はCおよびC++コードを20年近く書いていますが、これらの言語には、私が本当に理解したことのない側面が1つあります。私は明らかに通常のキャストを使用しました

いたるところにありますが、他に2種類のキャストがあるようで、違いはわかりません。次のコード行の違いは何ですか?

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

c - C のネストされた関数への関数ポインタを返す

タイトルが既に述べているように、ネストされた関数を宣言し、その関数へのポインターを返そうとしています。この関数 'not' が元の関数の否定を返す新しい関数ポインタを返すようにしたい。

ここに私が持っているものがあります:

someType は次のように定義されます。

0 投票する
7 に答える
30620 参照

c++ - C++ ポインターへのポインターを削除する

したがって、ポインターの配列へのポインターがあります。このように削除すると:

ポインタへのポインタもすべて削除されますか?そうでない場合は、すべてのポインターをループして削除する必要がありますか、またはそれを行う簡単な方法はありますか? 私のgoogle-fuは、この質問に対する良い答えをくれないようです。

(ええ、ベクトルを使用する必要があることはわかっています。これは、学校での「C++ に追いつく」タイプの課題の 1 つです。)

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

c# - 安全でない C# と 2D レンダリング用のポインター、良いか悪いか?

DirectX 9 をラップし、2D ピクセル レベルの描画を実行するための簡素化されたインターフェイスを提供する C# コントロールを作成しています。.NET では、このコードを unsafe コード ブロックでラップし、allow unsafe code オプションを指定してコンパイルする必要があります。

サーフェス全体をロックすると、メモリのロックされた領域へのポインターが返されます。次に、「単純な」ポインター演算を使用して、ピクセル データを直接書き込むことができます。これをパフォーマンステストしたところ、私が知っている他の「安全な」方法よりも大幅に速度が向上していることがわかりました。

これは、C# .NET アプリケーションで個々のピクセルを操作する最速の方法ですか? より良い、より安全な方法はありますか? ポインター操作を必要としない同等に高速なアプローチがあれば、それを使用することをお勧めします。

(これが 2008 年であることはわかっており、DirectX 3D、OpenGLなどを使用する必要がありますが、このコントロールは 2D ピクセル レンダリング専用であり、3D レンダリングは必要ありません。)