問題タブ [standard-library]
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.
c++ - xtree内の到達不能コードの警告を抑制する代わりの方法はありますか?
些細な、スローしない、コピーコンストラクターを使用するタイプでstd :: mapを使用すると、xtree内の到達不能コードに対してコンパイラー警告/エラーがスローされます(警告レベル4、リリースモード)。これは、std :: mapにtry-catchが含まれているため、例外が発生した場合にツリーの状態を維持するのに役立ちますが、コンパイラは、格納されている要素が呼び出されない場合、catchステートメントが呼び出されないことを認識します。投げる。これらの警告は、.cppファイルの先頭にある次の行で簡単に抑制できます。
警告レベルを変更したり、デバッグを組み込んだり、警告を抑制したり、マップで別のタイプを使用したりせずに、この警告/エラーを回避する方法はありますか?標準ライブラリでこれを変更する予定はありますか?
更新:
たぶんそれはコンパイラ固有です。私はvc7を使用しています。エラーは次のとおりです。
c:\ program files \ microsoft visual studio .net 2003 \ vc7 \ include \ xtree(1116):エラーC2220:警告はエラーとして扱われます-「オブジェクト」ファイルは生成されません
c:\ program files \ microsoft visual studio .net 2003 \ vc7 \ include \ xtree(1116):警告C4702:到達不能コード
どうやらxtreeはstd::mapによって使用されています。
c - Xcodeに、標準ライブラリを含むどのライブラリにもリンクしないようにコンパイラに指示させますか?
Xcodeにコンパイラにリンクしないように指示させるにはどうすればよいですか?
何にもリンクしないライブラリを作っています。ターゲットのプロパティで、標準ライブラリにリンクしてはならないことをどこに設定できますstatic
か。選択できるか、オプションdynamic
がありません。not
c++ - ペア、make_pair、および rel_ops がすべて同じインクルード ファイルにあるのはなぜですか?
標準ライブラリには疣贅があることは知っていますが (そうでない標準ライブラリを備えた言語を見つけてください)、一見無関係に見える 2 つのコードを「ユーティリティ」という名前のインクルードに詰め込む必要があるといつも思っていました。これにはかつて理由がありましたか?このライブラリには、役立つと見なされたものや、独自のヘッダー ファイルを保証するほど肉付けされたものが含まれていましたか?
基本的に私が理解しようとしているのは、pair、make_pair、および rel_ops に共通するものは何ですか?
c++ - C++ 標準ライブラリのすべての関数に外部リンケージが必要ですか?
それで、Windows、Linux、およびUNIXのいくつかのバリエーションで問題なくコンパイルできるアプリを手に入れました。最近、問題が発生したときに OSX に移植することにしました。
次のようなテンプレートがあります。
上記の入力値が与えられたときに符号拡張が特定の実装をクラッシュさせないようにするという考え0x7f
です。通常、次のように使用されます。
残念ながら、これは OSX (gcc 4.2 を使用) では機能しません。このエラーは、std::isspace
外部リンケージがないことに関係しているため、テンプレートには適用できません。OSX では、ctype.h
ヘッダーにすべての関数 (マクロを介して) がマークされていることがわかりますstatic inline
。
これが私の質問です:
C++ (この場合は C から継承された部分) 標準ライブラリの関数に関連する標準によって、外部リンケージを持たないことが許可されていますか?
編集:
アップルから連絡がありました。どうやら、この動作を制御するマクロを持っているようです。定義_DONT_USE_CTYPE_INLINE_
すると、ctype 関数が静的インラインになるのを防ぎます。
c++ - std :: tuple_elementはユニバーサルテンプレート引数レトリバーを兼ねることができますか?
この質問は私に考えさせました。引数のパブリックを定義できない場合は、クラステンプレートの特殊化から実際の引数を取得すると便利な場合がtypedef
あります。C ++ 03では、これは悪いテンプレートデザイン、または反対のデザイン意図のいずれかの兆候であり、特に一般的ではありません。ただし、可変個引数テンプレートを使用するとtypedefのカバレッジが不可能になるため、追加の作業を行わずに問題を解決するためのツールがあれば便利です。
C ++ 0xはtypedef
、1つの特定の可変個引数テンプレートの問題を解決しtuple
ます。
しかしtuple_element
、結婚していませんtuple
; とでも機能しpair
ますarray
。その宣言は言及していませんtuple
。
tuple
部分的な特殊化によって関連付けられています:
しかし、そうである必要はありません。tuple
テンプレートテンプレートパラメータは、タイプに対してのみパラメータ化された他のテンプレートと一致する可能性があります。
これにより、
それでも、追加の専門化を許可しますarray
array
の2番目の引数は型ではなく、であるため、競合は発生しませんsize_t
。
残念ながら、ユーザーはtuple_element
自分のタイプに合わせてインターフェースを特殊化することができます。ユーザーの前提条件とその保証は、C++0x§17.6.3.2.1/1によって与えられます。
プログラムは、宣言がユーザー定義型に依存し、特殊化が元のテンプレートの標準ライブラリ要件を満たし、明示的に禁止されていない場合にのみ、任意の標準ライブラリテンプレートのテンプレート特殊化を名前空間stdに追加できます。
したがって、一般的な特殊化が特殊化と競合してはならないだけでなく、ユーザー定義型を指定する特殊化array
とも競合してはなりません。つまり、ユーザーが特殊化を宣言した場合、一般引数ゲッターの存在は、それが選択されるかどうかに影響を与えることはできません。
インスタンス化であいまいさが生じた場合(つまり、2つの部分的な特殊化が引数リストに一致する場合)、選択肢が比較されて、どちらが最も特殊化されているか、つまり最も一般化されていないかが判別されます。選択肢をAとBと呼びます。これは、AがBの仕事をすることはできるが、BがAの仕事をすることができない場合、Bはより専門的であることを意味します。Aはジェネラリストです。Bが選択されます。インスタンス化を引き起こす実際の引数は、両方の候補に一致することがすでにわかっているため、考慮されません。
一般的なテンプレートを他のすべてに延期したいので、良好な状態です。
一般性は、Aの部分特殊化パラメーターを一意のダミー型に置き換え、Bもそのような特殊化を実装できるかどうかをチェックすることによってチェックされます。役割を逆にして繰り返します。反対の結果が得られた場合、1人の候補者がより専門的であることがわかります。
ユーザーのスペシャライゼーションにユーザー定義型が存在すると、その優先順位が保証されます。これは、引数ゲッターに対応する一意のダミー型が存在する必要があるためです。これは、それに一致しません。
たとえば、これは非常に一般的なユーザー宣言の専門分野です。これはtuple_element
、特定のを含むタイプパラメータ化されたテンプレートを定義しますuser_type
。
シーケンス..., user_type, ...
は一般的なケースで処理できますが、ユーザーのケースでは、が含まれないため、完全に人工的な一意のタイプで構成されるシーケンスを処理できませんuser_type
。
いずれかのユーザー専門分野が候補である場合、それは優れた専門分野になります。
(標準では、疑似コードでの個別の部分特殊化が指定されていますがtuple
、as-ifルールでは省略できます。とにかく、実装されている場合は、ユーザーを保護するのと同じ優先順位ルールでカバーされます。)
私は半順序規則に多くの進出をしていません。この分析は正しいですか?実装が一般的なテンプレートインデクサーを公開しても大丈夫ですstd::tuple_element
か?
java - Java PriorityQueue を最大 PQ に変更する
Java 標準ライブラリのプライオリティ キューの実装は、少しわかりにくい最小プライオリティ キューのようです。それを最大のものに変えるために、カスタムコンパレータオブジェクトを作成しました。
もっとエレガントな解決策があるかどうか疑問に思っていました。基本的に、ダイクストラなどを実装するために使用できる一般的な優先度キューは必要ありません。逆に動作するものがあることにさえ気づきませんでした:/
c++ - std::string が途切れるのはなぜですか?
次のように文字列を初期化します。
myString は次のように切り捨てられます。
「ザ・クイック・ブラウン・フォックス・ジャンプ・オーバー・ザ・レイジー・ドッグ」は英語のパングラム(
サイズ制限はどこで設定できますか? 私は成功せずに次のことを試しました:
どうもありがとう!
python - Python 標準ライブラリは本当に標準ですか?
Python がインストールされている場合、標準ライブラリもインストールされるという意味で、Python 標準ライブラリは標準ですか?
ドキュメントの読み取り
Unix ライクなオペレーティング システムの場合、Python は通常、パッケージのコレクションとして提供されるため、オプション コンポーネントの一部またはすべてを取得するには、オペレーティング システムに付属のパッケージ ツールを使用する必要がある場合があります。
標準ライブラリのインデックスには、私が知る限り、「オプションのオペレーティング システム サービス」のみがオプションとしてリストされています。
では、Python がインストールされている場合、他のすべては常にプラットフォームで利用できるのでしょうか? そうでない場合、最も一般的なもの (Windows、Mac OS X、Linux) では何が期待できますか?
PS: 私は大学院生に Python のクラスを教えています。Python には常に電池が付属していることを伝えたいと思っています。これは、彼らにとって実際的に重要です (彼らが新しいラボに到着したとき、または新しいマシンを使用したとき、標準モジュールの可用性に関して何を期待するかを知ることは彼らにとって役に立ちます)。
python - Python で int を名前で参照する方法
次のように動作するように、「「x」という名前の変数が指している任意の変数」と int で読み取る参照が必要です。
次のようにして、リストで同様のことができることを知っています。
しかし、要素の代わりに a または b を何かに割り当てると、これは簡単に失われる可能性があります。
これを行う簡単な方法はありますか?
python - 標準ライブラリを使用した Python Web プログラミング
コマンド ライン プログラムに GUI を提供する単純な Python Web アプリケーションを作成したいと考えています (hg serve
たとえば、 を考えてください)。ローカルでのみ実行されます。展開を容易にするために外部依存関係を持たせたくないので、一般的なPython Webプログラミングはここでは適用されません
最小限の手間でどうやってそれを行うことができますか?cgi
またはwsgi
、string.Template
またはで簡単に行う方法のポインタはありますかstring.Formatter
? 私は Python 2.6 のソリューションを好みますが、Python 3.x のソリューションでも問題ありません。また、html を手動で組み立てるために、いくつかの html テンプレートを使用することもお勧めします。
更新: 理想的な解決策には、方法が含まれます
- フォームを処理する
- ファイルをアップロード/ダウンロードする
- htmlを出力する
- ウェブサーバーを起動するには