boost-optional

    0

    1答えて

    私は2.3.3スタジオで試しました。新しいしようとしていない 3.0は がlldbコンソールにキャストしようとしました助けることができる任意のプラグインを見つけていません。そこにいくつかのエラーがある、それを正しく行う方法を知らない それでは、解決策はありますか?あなたはそのような問題にどのように対処しますか?

    0

    2答えて

    データを3通り表現できる「アイテム」があります。私はある表現から他の表現のいずれかに、ランタイムコストで変換することができます。私が変換を行うと、私は新しい表現を周りに残したいと思います。データの表現は、コアデータを「変更する」ことなく、他のものに変換することができます。ランタイムコストのために、データの3つの表現を含むクラスが必要です。いつでも、それらの1〜3が有効になります。 実際のところ、ユ

    3

    1答えて

    は私が持っていると言う:realCatは}でリリースされたとして、上記で #include <iostream> #include "boost/optional.hpp" struct cat { int paw = 4; }; int main() { boost::optional<cat&> z; { cat realCat = ca

    5

    1答えて

    は、構造体以下の点を考慮してください:私は、共有メモリ領域を作成するために、ブースト::プロセス間を使用してい struct ThingThatWillGoInSharedMemory { boost::optional<int> opt_value; }; 。 boost :: optionalの理解は、nullableポインタではなく、区別されたunionであるということでした

    1

    1答えて

    Boost.Pythonを使用してC++クラスを公開しています。私の意図は、内部参照を持つユーザー定義のクラス型であるメンバ変数を公開することです。これは、タイプboost :: optionalのメンバ変数を導入することを決定するまでうまくいきました。<T> ブースト::オプション<T>を値として返す方法を示す素晴らしい投稿がいくつかあります。具体的には、this converterを実装しまし

    1

    1答えて

    ライブラリコードで生成された例外をキャッチしてboost::optional(またはstd::experimental::optional)にラップしたいと思います。私のコードは簡単なケースでは機能しますが、オーバーロードされた関数を呼び出すときに正しい型を推測するのは難しいです。私はこれに私のテストケースを低減しました: // Compile with: clang++ -std=c++14 -

    0

    1答えて

    1つの引数を取る関数への呼び出しがたくさんあり、それらの呼び出しを更新したくありません。しかし、私は他の特別な場所からその関数を呼び出すことができますが、その場合は、いくつかのデータを渡すベクトルをさらに埋めてください。 私はstd::vectorコンテナにNULLポインタとデフォルトの引数を作成し、それがnullの場合、次に、余分なアクションをやってスキップすることができます知っていて、それが有

    4

    1答えて

    (BOOST_PYTHON_MODULEから使用)boost::python::class_を経由して、それを公開するboost::optional<T>型オブジェクトをラップする方法はあり struct Foo { boost::optional<int> bar; }; BOOST_PYTHON_MODULE(module_name) { class_<Foo>(

    8

    2答えて

    オプションのパラメータ:(。私はstd::optionalまでstd::experimental::optionalエイリアシングてる正式に利用可能である) void func(std::optional<std::string> os = std::nullopt); を しかし、私がいる困難それをきれいに呼びます。コンパイラは、未処理のC文字列リテラルを使用して2つの暗黙的な変換(cons

    3

    1答えて

    通常、関数がboost::optionalを返すとき空の値を指定するために空のブレース{}を返す人がたくさんいますが、これは正常に動作し、boost::noneを返すよりも短いです。 私はboost::optional<int>を空にするのと同様のことを試みましたが、コピー代入演算子(またはほとんどの場合は移動代入演算子)を右側の空のブレースで呼び出すと、空のブレースはintに変換されてからその値