問題タブ [boost]
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++ - 「ファンクノイド」?
ここで「functionoid」の説明を読みました。それらは、Boost::function と Boost::bind の貧乏人のバージョンのように見えます。何か不足していますか?すでにブーストを使用している場合、それらを使用する正当な理由はありますか?
c++ - なぜ Boost ライブラリは単に「bool」を返すのではなく、「「bool」に変換可能なもの」を返すのですか?
何度か、Boost ライブラリのドキュメントを熟読しているときに、「convertible tobool
」とマークされた戻り値に出くわしました (そのページで「convertible to bool」というフレーズを検索してください。約 3 分の 1 ほど下にあります)。その理由を説明している論文への斜めの参照に出くわしたことがありますが、その論文を見つけることができませんでした(また、参照を見たページも見つかりません)。
単純bool
にbool
.
c++ - C++ 文字列内の式の評価: "Hi ${user} from ${host}"
${} でラップされた式を含む文字列を解析し、プログラムで評価された式から結果文字列を作成するためのクリーンな C++ の方法を探しています。
例: "user" を "foo" に評価させるプログラムを実装すると、"Hi ${user} from ${host}" は "Hi foo from bar" に評価されます。
私が考えている現在のアプローチは、文字列から一度に 1 文字を食べ、「}」に到達した後に式を評価するステート マシンで構成されています。ヒントやその他の提案はありますか?
注: boost:: は大歓迎です! :-)
更新最初の 3 つの提案に感謝します。残念ながら、例を単純化しすぎました。${} 内の内容を調べる必要があるため、単純な検索と置換ではありません。おそらく、${uppercase:foo} と表示され、ハッシュマップのキーとして「foo」を使用して大文字に変換する必要がありますが、上記の元の質問を書くときに ${} の内部の詳細を回避しようとしました... :-)
c++ - .アクセス違反読み取り箇所
私は本当に奇妙な問題に遭遇しました。
コードは次のとおりです。
次の例外を受け取りました。
を確認しましたがpImage
、 がいつgraphics.DrawImage
呼び出されるかは確かですNULL
。
- なぜそのような問題が起こったのですか?
- とは
0xfeeefef2
?
c++ - Boost Asio serial_port - io のヘルプが必要
それで、RS232を使用してシリアルデバイスと通信するためのboost::asioのことを学ぼうとしています。ドキュメントはまばらで、例は存在しません。デバイスとの通信方法が正確にわかりません。デバイスはデータを送信できないため、書き込むだけで済みますが、他のプロジェクトでは実際のやり取りが必要になるため、助けていただければ幸いです。私がこれまでに持っているコードは次のとおりです。
要するに、serial_port の io 部分について助けが必要です。
c++ - Boost Test フレームワークでの assert のテスト
Boost Test フレームワークを使用して C++ コードの単体テストを行っていますが、関数がアサートするかどうかをテストできるかどうか疑問に思っています。はい、少し奇妙に聞こえますが、ご了承ください。私の関数の多くは、エントリ時に入力パラメーターをチェックし、それらが無効かどうかをアサートします。これをテストすると便利です。例えば:
私はこのようなことができるようにしたいと思います:
Boost Testを使用してスローされている例外を確認できるので、assertマジックもあるのだろうか...
c++ - boost::scoped_array での &p[0] と p.get() のパフォーマンスへの影響
トピックは一般的にそれをすべて言います。基本的には次のような状況です。
実行することと実行することの間に、パフォーマンスにかなりの違いはあり&p[0]
ますp.get()
か?
私は最初のものを好むので、構文のようなより自然なポインターを持っているのでお願いします。実際、これにより、p をネイティブ ポインターまたは配列に置き換えることができ、他に何も変更する必要がなくなります。
get は 1 つのライナー " " であるため、コンパイラはそれをインライン化するのではないかと推測しています。逆参照せずにすぐに参照できるようreturn ptr;
にインライン化するのが賢明であることを願っています。operator[]
誰でも知っていますか?
c++ - 並列クイックソート:ブーストバインドを使用した再帰?
私はクイックソートの並列化に取り組んでおり、スレッドは最初の試みです。スレッド化されていないバージョンは正しくソートされますが、スレッド化されたものはそうではありません (驚くことではありません)。私が興味深いと思ったのは、スレッドを削除したが、boost::bind 呼び出しを維持したとき、まだ機能しないことでした。boost::bind が私が望むものではない場合は、提案を提供してください。バインドは、関数をブースト スレッドで動作させる最も簡単な (または唯一の) 方法のようです。
c++ - C++APIをPythonに公開する
私は現在プロジェクトに取り組んでおり、プログラムをスクリプト化できるようにするには、C++クラスをPythonでラップする必要がありました。したがって、私の特定の経験には、Pythonインタープリターをプログラムに埋め込むことも含まれていました。
私が試した代替案は次のとおりです。
Boost.Python
Boost.Pythonによって生成されたよりクリーンなAPIが好きでしたが、ユーザーが追加の依存関係をインストールする必要があるという事実により、SWIGに切り替えました。
SWIG
SWIGの主な利点は、最終的なプログラムを使用するためにエンドユーザーがSWIGをインストールする必要がないことです。
あなたはこれを行うために何を使用しましたか、そしてそれであなたの経験は何でしたか?
c++ - boost::function を std::list に保存できないのはなぜですか?
次のコンパイル エラーが発生します。
これが私のコードです:
なぜこれが起こるのですか?どうすれば修正できますか?