問題タブ [private-header]

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

c - Cの「プライベートヘッダー」とは何ですか?

私は最近Cを学んでいて、教科書の 1 つで拡張子が「.r」のファイルへの参照を見つけました。ご想像のとおり、「r」または「ファイル拡張子 r」をグーグルで検索しても生産的ではないので、助けていただけないでしょうか。

次のコードブロックに表示されます

著者は、それが「プライベート ヘッダー」であると述べていますが、それが正確に何であるかについて、より明確に説明できればよかったのにと思います。

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

objective-c - プレフィックスとしてアンダースコアを使用してインスタンス変数に名前を付けると、Cocoa(Objective-C)に副作用がありますか?

重複の可能性:
カカオのobjective-cクラスの変数の前にあるアンダースコアはどのように機能しますか?

Appleのフレームワークのヘッダーファイルで、クラスインターフェイス内にプレフィックスunderscopeを持つApplenameインスタンス変数が見つかりました。以下の_delegateインスタンスのように:

しかし、独自のインスタンス変数を定義するときにこの命名規則に従うと、副作用はありますか?私はかなり長い間、この質問の答えを探してきました。

アップルのコードガイドラインでは、アップルはメソッド名がアンダースコアで始まることを予約していると述べており、インスタンス変数の命名の問題に関する制限については言及していません。

私の同僚は、インスタンス変数をアンダースコアで始めると、選択した名前がフレームワークのプライベートヘッダーファイルに存在する場合、フレームワークと衝突する可能性があると述べました。これは可能ですか、それともアップルがすでに使用している可能性があるため、アンダースコアで始まる名前を使用しない理由になりますか?

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

c++ - サポート関数の宣言はどこに行くべきですか?

公的にアクセス可能である必要があるいくつかの関数と、このソースファイルでのみ使用されるいくつかのサポート関数を含む.cppソースファイルがあります。

クラスが提供するすべてのものを1つの場所で確認すると個人的に便利だと思うので、これらすべての関数宣言をヘッダーファイルに入れています。ただし、関数がアクセス修飾子と同様に内部使用であるかどうかを示したいと思いますが、privateクラスは使用していません(これらはスタンドアロン関数です)。

考えられる解決策は次のとおりです。

  • プライベート宣言をソースファイルに入れます。
  • プライベート宣言を別のヘッダーに配置します。

これらのソリューションはどちらも、パブリック関数とプライベート関数を別々のファイルに分割しますが、これは避けたいと思います。

0 投票する
0 に答える
252 参照

ios - プライベート ヘッダーをインポートする静的ライブラリからパブリック ヘッダーにアクセスするにはどうすればよいですか? レキシカルまたはプリプロセッサの問題を受け取る

Xcode にスタティック ライブラリ プロジェクトがあり、ビルド フェーズの Copy Headers 部分を利用して、特定のクラスのみを別のプロジェクトからアクセスできるようにし、他のすべてのクラスがスタティック ライブラリ プロジェクトの外部からアクセスできないようにしています。

ビルドしたライブラリ (.a ファイル) にリンクする View Controller プロジェクトを作成しました。Xcodeのヘッダーのコピー機能によって自動生成されたインクルードフォルダーに存在するヘッダーをインポートすると(これは現在パブリックヘッダーファイルであると想定しています)、それをヘッダーAと呼びましょう。レキシカルまたはプリプロセッサの問題というエラーが返されます。ヘッダー A によってインポートされたが、ヘッダーのコピー セクションに追加されていないヘッダー ファイルを見つけることができません。これは、ユーザーにアクセスさせたくないためです (インクルードに追加していないため、プライベート ヘッダーであると想定しています)。ヘッダー B と呼ぶことにします)。

ヘッダー ファイルをインクルード パスにコピーすると、Xcode によりナビゲーションが回避しようとしているコードを表示できるようになります。プライベート クラスにアクセスできる特定のクラスへのアクセスのみを許可する方法はありますか? クラスを Public および Private として宣言する特定の方法はありますか?

私はあなたの助けに感謝します!