問題タブ [lexical-cast]

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.

0 投票する
1 に答える
396 参照

c++ - SFINAE を使用して、テンプレート化された関数の呼び出しが提供された型のために失敗するかどうかを判断する方法はありますか?

レキシカルキャストが可能な場合にのみ、テンプレートで指定された型にパラメーターをboost::lexical_castキャストするために使用するメソッドを提供するために使用しているテンプレート化されたクラスがあります。現在、可能かどうかを確認するために、問題のタイプに対して が定義されているstd::stringかどうかを確認しているだけです。operator>>これは、私がやっていることを基本的に説明する不自然な例です:

これまでのところ、これは私のコードでは問題なく機能します。レキシカル キャストに失敗するすべての型は最初のバージョンになり、他のすべての型は 2 番目のバージョンになります。少なくとも、コードでこれを使用している型についてはそうです。私が心配しているのは、基本的に、ターゲットの型が InputStreamable である限り、lexical_cast が失敗しないという仮定を立てていることです。lexical_castのブースト ドキュメントenable-ifには、他のいくつかの要件が概説されています。おそらくこれもチェックする必要がありますが、複雑なものを作成してこれらの条件をまとめて使用するのではなくmpl::and_、SFINAE を使用して直接テストする方法はありますか?指定された型に対してその呼び出しlexical_castが失敗し、失敗しない場合にのみ特殊化されたテンプレートと一致するかどうか?

関数または演算子の存在をテストする例を見たことがありますが、特定の型のテンプレート化された関数を呼び出すとエラーが発生するかどうかをテストすることはありません。

0 投票する
1 に答える
617 参照

c++ - 名前空間でカスタム operator<< を使用して boost::lexical_cast を使用する

それぞれが std::vector の operator<< の特殊化を提供する 2 つの名前空間が与えられた場合、boost::lexical_cast を使用できますか? オペレーターの 1 つをグローバル名前空間に昇格させれば、コードが機能することはわかっていますが、他の場所であいまいなエラーが発生するだけです。boost::lexical_cast が正しい演算子を見つけられるようにするために使用できる「using」ディレクティブの巧妙な使用法はありますか?

編集:これまでのところ、私が思いついた最善の方法は、オペレーターを .cpp の std 名前空間にプルすることです。これは、.cpp が 1 つのバージョンのみを必要とする場合は機能しますが、.cpp が複数のバージョンを必要とする一般的なケースでは機能しません。

0 投票する
4 に答える
11130 参照

c++ - ベクトルへの文字列ストリーム

std::stringstreamからに書き込む最良の方法は何だろうと思っていvector<int>ます。

の内容の例を次に示しstringstreamます。 "31 #00 532 53 803 33 534 23 37"

これが私が持っているものです:

しかし、何が起こっているように見えるかというと、それは最初のものを読み取り、次に取得し#00て戻ります0。これは数値ではないためです。

理想的には、私が望むのは、 a に#なり、次の空白まですべての文字をスキップすることです。これはフラグなどで可能ですか?

ありがとう。

0 投票する
1 に答える
913 参照

c++ - boost::lexical_cast が警告付きでコンパイルされる

以下をコンパイルします。

これに帰着します:

なんで?この警告を回避するにはどうすればよいですか?

0 投票する
1 に答える
10039 参照

c++ - C ++ boost::lexical_castでクラスを使用する

Testクラスを。で使用したいboost::lexical_cast。オーバーロードoperator<<operator>>ましたが、ランタイムエラーが発生します。
これが私のコードです:

出力:

ところで、私はVisual Studio 2010を使用していますが、Fedora16をg++で試したところ、同じ結果が得られました。

0 投票する
1 に答える
375 参照

c++ - ランタイムライブラリなしのboost::lexical_cast

boost :: lexical_castを使用したいのですが、C / C ++ランタイムライブラリを使用できないため、lexical_castを使用できません。Boostについてはよくわかりませんが、次のようなブロックの使用を見てきました。

そして、Boostが前述のライブラリに依存しないように使用する#defineがあるのではないかと考えています。

Boostのドキュメントに、可能なプリプロセッサオプションを説明する特定の場所がある場合は、オンラインで見つけることができないように思われるので、それも非常に高く評価されます。

0 投票する
2 に答える
230 参照

c++ - Identity Boost :: lexical_castを実行する際にどのようなオーバーヘッドがありますか?

次のような関数が与えられます:

渡されたタイプfunction1がすでに?である場合、どのような種類のオーバーヘッドが発生しstd::stringますか?

オーバーヘッドは、使用するタイプによって異なりますlexical_castか?

キャストをバイパスするためにオーバーロードされた関数を作成することは不要ですか?例えば:

lexical_castブーストのバージョンは、リビジョン間でいくつかの最適化を受けていることを理解しているので、あなたの答えに関連している可能性があります。

0 投票する
1 に答える
151 参照

boost - boost::lexical_cast に正符号を付ける

std::string に変換するときに、boost::lexical_cast に正符号を含めるにはどうすればよいですか?

私は次と同じことをするつもりです: snprintf( someArray, someSize, "My string which needs sign %+d", someDigit );. ここで、someDigit は、正の場合は +someDigit として、負の場合は -someDigit として文字列に入れられます。参照: http://www.cplusplus.com/reference/clibrary/cstdio/snprintf/

0 投票する
1 に答える
891 参照

c++ - boost::lexical_cast の使用(ストリング)

私は初心者であり、これが機能しない理由について説明が必要です。

myArray[9] はゼロではありませんが、結果の double は常にゼロです。どんな助けでも大歓迎です。ありがとうございました。

0 投票する
4 に答える
1112 参照

c++ - レキシカルキャストC ++

次のような行を実装するために、ラッパーのレキシカルキャスト関数をどのように書くことができますか?

私はプログラミングにまったく慣れていないので、関数をどのように記述できるか疑問に思っていました。テンプレートの作り方がわかりません。また、 double のラッパー関数も作成できますか? お気に入り

??