問題タブ [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
使用または返された型付きオブジェクトを処理するためにテンプレートを使用する必要がなくなったので、私は落ちると思います。それでも、私にとってまだ不便だと思うことの1つは、held
データを簡潔に、そして確実に後でcast_any
.
大会
カスタム boost_any:
held="123456"
プログラムのデバッグ中に、オブジェクトが両方の場合でまったく同じであることを発見したため、この機能が気に入っています。libの内部実装がそれをthink
行った可能性があります(保持しているコンテンツをに変換しましたstring
)。この例では POD タイプのみを示しています。誰かがこのカスタマイズについて何かを行ったかどうか、またはcast_any
.
c++ - boost::any のテンプレート コピー コンストラクター
boost::any のテンプレート コピー コンストラクター
ブーストの any.hpp でこれらのコードと混同しています。
別のオブジェクトから新しい任意のオブジェクトが必要な場合、sencod copy-constructor が役立つことは明らかです。しかし、最初のコピー構築が実行されるのはいつですか?
c++ - boost::any を boost::variant に変換する汎用関数
boost::any
オブジェクトとオブジェクトがあるとしboost::variant
ます。
私はconvert
、特殊なboost::variant
例boost::variant<int, std::string>
であるテンプレートパラメータ T を取り、魔法のようにを指定されboost::any
た の利用可能なタイプの1つに変換するジェネリック関数を探していますboost::variant
。
そのような関数を書くことが可能かどうか、または何らかの理由で不可能ではないかどうか疑問に思っていますか?
c++ - boost::any コンストラクタ - const 型のオーバーロードの解決
boost::any には、次のように宣言された完全な前方コンストラクタがあります。
is_const<> SFINAE 除外により、const 型が通常のコピー コンストラクターに強制されます。
通常のコピー コンストラクターが const 値を処理する方法と、 is_const<> 除外が削除された場合に完全転送コンストラクターが行う方法との違いは何ですか?
c++ - std::any は型消去、サブタイピング、またはポリモーフィズムを採用していますか?
ブースト anyおよび実験的 anyに関するドキュメントを読んでいる間、型消去
についての言及は見当たりませんでした。
C++に適用される「型消去」の概念を理解しようとしています。
「any」型は値を格納するときに「型消去」を使用するというのは正しいですか?
値を格納するときに「ポリモーフィズム」を使用するというのは正しいですか?
「型消去」は一種の「ポリモーフィズム」ですか?
ポリモーフィズムに関するウィキペディアの記事にも、「型消去」については言及されていません。
「サブタイピング」について言及しています。「型消去」は一種の「サブタイピング」ですか?
この質問が別の方向に向かっているように思われる場合は申し訳ありません。
要約する、
「型消去」、「ポリモーフシム」、および「サブタイピング」は、C ++の任意の型とどのように関係していますか?