問題タブ [boost-any]
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++ - boost::以下のコードの置き換え
コードへのブースト依存を取り除きたいです。次の構造体があります。コード内の別の場所でこの構造体を呼び出して使用する場合にboost::any_cast
使用されます。テンプレート クラスでそれができることはわかっていますが、このテンプレートを記述するのは難しいと感じています。- C++ 新人。
c++ - QVariant vs boost::any vs boost::variant
QVariant のような「汎用」コンテナーの 1 つに、さまざまな型 (int、float、QString、または std::string、bool) の値を効率的に格納する方法が必要です。
メモリ使用量を減らしてアーカイブしたい。
オーバーヘッドになるため、内部値の型を格納しないコンテナを好みます。
どちらを使用する必要がありますか?
c++ - ブーストスピリット、ブースト任意および引用符で囲まれた文字列 - コンパイル時エラー
次のコードがあります。
追加するまでは正常にコンパイルされます
文字数制限のため、ここと pastie.org にエラーを投稿することはできません。
私は何を間違っていますか?どうすれば修正できますか?
c++ - boost::any_cast(const any&) uses const_cast<> -- これは潜在的に UB ではありませんか?
boost/any.hpp (バージョン 1.55) の定義 (263 行目)
ただし、 を使用するconst_cast<>
と、元のオブジェクトがconst
それで、ブーストはコーシャですか?
c++ - C++ データ型の切り替え
Attribute
属性のタイプを指定する Enum を持つクラスがあります ( ) INT_64, UINT 64, INT_32, STRING, DOUBLE, etc.
。この Attribute クラスは、boost::any を使用して、列挙型で指定された型のベクトルを保持します。
現時点では、このデータを操作するために大きな switch ステートメントがあります。少なくとも基本的なデータ型については、もっと簡単な方法があると思います。
私のスイッチステートメントは次のようになります。
属性は次のように定義されます。
次のようなことをして、switch ステートメントを回避する方法はありますか。
c++ - C++ 汎用データ型
fast
C++のジェネリック データ型への最善のアプローチは何ですか。プログラム全体でイベント情報を渡す必要があるイベント システムがあります。
今まで必要だったのは float/int/ptr だけで、ユニオン内で処理していました。しかし、今はほとんどの構造がいくつかあり、これはもう少し複雑になってきているので、再検討しています。
掘り下げてみましたboost::any
が、これは遅すぎます。大量のデータが飛び交う可能性がありますが、この考えは正しい方向に思えます。
私は void* データ ホールドを使用してかなり素朴なショットを撮りましたが、それはすぐに非常に醜くなりました。