問題タブ [void-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 投票する
10 に答える
14569 参照

c - Cの構造体での「「void *」ポインタの逆参照」警告の解決策は?

構造体の配列を出力するための疑似スーパー構造体を作成しようとしていました。私の基本的な構造は次のとおりです。

上記の構造体の配列を出力するために、以下の構造体を作成しました。以下のコード スニペットのコンパイル中に void ポインター エラーを逆参照しました。

私の意図は、すべての配列を印刷する共通の機能を持つことです。正しい使い方を教えてください。

事前に助けに感謝します。

編集: パラメータ名が cmncnt から cmncntin に変更されました。すみません、タイプミスでした。

ありがとう、マシュー・リジュ

0 投票する
6 に答える
15047 参照

c - C で void* ポインターを使用することの欠点

Cでの使用には多くの欠点がありますvoid *(メモリ関連、型関連、効率など)。それらにもかかわらず、私たちはそれらが提供する柔軟性のためにそれらを多く使用しています.

を使用して欠点/欠点をリストしますvoid *(および可能であればCでの推奨ソリューション)。

編集: 次のリンクを参照してください: http://attractivechaos.wordpress.com/2008/10/02/using-void-in-generic-c-programming-may-be-inefficient/

0 投票する
6 に答える
8086 参照

c++ - C ++のvoidへのポインタ?

Ogre3D実装のコードを読んでいるのですが、void *型変数の意味がわかりません。voidC++ でのポインタの意味は何ですか?

0 投票する
10 に答える
21881 参照

c++ - voidへの参照を持つことが不可能なのはなぜですか?

void への参照ができないのはなぜですか? C++ 標準で見つけたのは、この行の8.3.2.1 だけです。

タイプ「 cv voidへの参照」を指定する宣言子の形式が正しくありません。

なぜそのようになっているのですか?を受け入れる「汎用」関数を作成できないのはなぜvoid&ですか?

明確にするために、voidへの参照を使用する方がテンプレートを使用するよりも優れている可能性がある有用なアプリケーションは考えていませんが、この構成を禁止する理由について知りたいだけです。


少し明確にするために、ボイドへの参照を「そのまま」使用することは、ボイドへのポインタを逆参照するのと同じくらい無意味であることを理解しています。しかし、それを使用するために何らかの型への参照にキャストすることはできますよね? 実際、次のスニペットが機能する理由がわかりません...

...これはできませんが:

0 投票する
6 に答える
1278 参照

c - ANSI C89/ISO C90 における void ポインターの境界

ANSI C89/ISO C90 の void-pointer 値の上限と下限を移植可能に決定する方法はありますか? (私は現在、標準のコピーを持っていません(家に持っています)。もちろん、void-pointer の値が署名されていないことが保証されている場合、このタスクは簡単です(sizeof(void *) を介して);しかし、私はできませんこれが保証されているかどうか思い出してください. いくつかの非常に非効率なアルゴリズム (オーバーフローするまでインクリメントするなど) を思いつくことができます.これらの境界を計算します。)

- 編集 -

また、ポインター値の有効性を判断する移植可能な方法はありますか?

理由:これは同僚との話し合いの中で出てきたもので、私は困惑しました。彼が何をしているかわからないけど、興味があるから知りたいだけ!:-)

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

c - Cの定数オブジェクトへのvoidポインタを返す

内部バッファへのポインタを返すアクセス関数を作成しています。関数のユーザーに、ポイントされているオブジェクトを更新してはならないことを示唆したいと思います。非常に不自然な例は次のとおりです。

はい、私はそれが薄っぺらに見えることを知っています。

私が防ぎたいのは:

私はそれを完全に防ぐことはできないことを知っていますが、少なくともコンパイラーの警告がユーザーにそれをしてはいけないことを示唆することを望みます。彼らが私のポインターを投げた場合、それは彼らの問題です。これを行うconstとvoidおよび*の組み合わせはありますか?私は次のようなことを試しました:

しかし、それはポインタの空白をなくしたように見えたので、発信者は次のことをしなければなりませんでした。

また

できませんでした:

私はついにやって来ました:

ユーザーが行う場合:

コンパイラー(少なくともGCC)は、修飾子を破棄することについて文句を言います。

0 投票する
16 に答える
211307 参照

c - Cプログラミングにおけるvoidポインタの概念

Cプログラミング言語で型キャストせずにvoidポインターを逆参照することは可能ですか?

また、ポインタを受け取ってvoidポインタに格納できる関数を一般化する方法はありますか?そのvoidポインタを使用して、一般化された関数を作成できますか?

例:

if-elseステートメントを使用せずにこの関数をジェネリックにしたい-これは可能ですか?

また、voidポインターの概念を説明する優れたインターネット記事がある場合は、URLを提供できれば有益です。

また、voidポインタを使用したポインタ演算は可能ですか?

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

python - PyObjC セレクターで void ポインターを表すにはどうすればよいですか?

設計中のアプリケーションに NSOpenPanel を使用したいと考えています。これが私がこれまでに持っているものです:

私が懸念している主な2行は次のとおりです。

3 番目の引数は、void ポインターであると想定されています。そのデータを使用するつもりはないので、空のままにしておきます。私は署名を作成しようとし、 と python'v:@iv'を使用してみました。これらすべてのもののほぼすべての組み合わせです。これを処理する最善の方法は何ですか?objc.NULLNone

0 投票する
6 に答える
8509 参照

c++ - データに応じてvoidポインタをキャストする(C ++)

基本的に私がやりたいのは、いくつかの変数に応じて、voidポインターを別のデータ型にキャストすることです。たとえば(「cast」変数は私の主張を理解するためのものです):

このようなことを行うことができるC++の何かがありますか(実際には変数を(uint32 *)または同様のものに割り当てることができないため)?これが明確でない場合はお詫び申し上げます。ご協力いただければ幸いです。

0 投票する
13 に答える
66598 参照

c++ - void ポインターを削除しても安全ですか?

次のコードがあるとします。

これは安全ですか?または、削除ptrする前にキャストする必要がありますか?char*