タグ付けされた質問 「operator-keyword」

5
C ++二重アドレス演算子?(&&)
私はSTLソースコードを読んでいて、&&アドレス演算子が何をすることになっているのか分かりません。これはからのコード例ですstl_vector.h: vector& operator=(vector&& __x) // <-- Note double ampersands here { // NB: DR 675. this->clear(); this->swap(__x); return *this; } 「Address of Address」は意味がありますか?なぜ1つではなく2つのアドレス演算子があるのですか?




4
文字列の連結が期待どおりに機能しない[クローズ]
ここで何が求められているのかを知るのは難しいです。この質問は、あいまい、あいまい、不完全、広すぎる、または修辞的であり、現在の形式では合理的に答えることができません。この質問を明確にして再開できるようにするためのヘルプについては、ヘルプセンターに アクセスしてください。 8年前に閉鎖されました。 これはよくある問題ですが、参考資料やその他の資料を探しても、この質問に対する明確な答えは見つかりません。 次のコードについて考えてみます。 #include <string> // ... // in a method std::string a = "Hello "; std::string b = "World"; std::string c = a + b; コンパイラは、オーバーロードされた演算子が見つからないと言っています char[dim]。 文字列に+演算子がないということですか? しかし、いくつかの例では、このような状況があります。これがより多くの文字列を連結する正しい方法ではない場合、最良の方法は何ですか?

1
キャスト演算子を明示的にすることはできますか?
コンストラクターに関して言えば、キーワードexplicitを追加すると、プログラマーの最初の意図ではないときに熱心なコンパイラーがオブジェクトを作成するのを防ぐことができます。そのようなメカニズムは鋳造オペレーターにも利用できますか? struct Foo { operator std::string() const; }; ここでは、例えば、私はキャストできるようにしたいと思いFooの中にstd::string、私は、このようなキャストは暗黙のうちに起こることを望んでいません。

1
as-patternのほかに、Haskellで@は何を意味しますか?
私は現在Haskellを研究しており、Haskellを使用して暗号アルゴリズムを実装するプロジェクトを理解しようとしています。Learn You a Haskell for Great Goodをオンラインで読んだ後、私はそのプロジェクトのコードを理解し始めます。次に、「@」記号が付いた次のコードで行き詰まっていることがわかりました。 -- | Generate an @n@-dimensional secret key over @rq@. genKey :: forall rq rnd n . (MonadRandom rnd, Random rq, Reflects n Int) => rnd (PRFKey n rq) genKey = fmap Key $ randomMtx 1 $ value @n ここで、randomMtxは次のように定義されています。 -- | A random …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.