問題タブ [effective-c++]
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++ - この宣言の typedef を理解する方法
最近、「Effective C++ 」という本を読みましたが、項目 35 に typedef に関する宣言があり、混乱しています。
だから私の最初の質問は、なぜ著者はここで前方宣言を使用するのですか? 具体的な理由はありますか?
2 番目の質問は、typedef 宣言をどのように理解し、どのように使用するかです。私はただのようなことを知っていますtypedef int MyInt;
c++11 - can pimpl イディオムの impl クラスにはデストラクタがありますか?
私は効果的な現代のcppでpimplを学びます.いくつかの検索を行った後、pimplイディオムのimplクラスのデストラクタ実装について誰も話していません.それは不要ですか?
c++ - 参照推定はどのように機能しますか?
これに重複する可能性があります。
私はEffective Modern C++を読みました。でItem 1
、ユニバーサル リファレンスのケースを見つけました。
最後の例では、VS2013 でテストを行いました。
f(27);
出力は次のとおりです。
std::forward<T>(param)
テンプレート関数内で、 withoutがprocess(int& x)
呼び出されることがわかりましたが、本によると、型はparam
右辺値参照でprocess(int&& x)
なければならないので、呼び出す必要があります。しかし、そうではありません。私は何かを誤解していますか?他のスレッド
から見つけた転送リファレンスは次のとおりです。
c++ - STL アロケータの正当な使用: Scott Meyers
Scott Meyers による効果的な STL を読んでいます。項目 11 には、アロケーターに関する以下のテキストがあります。
アロケーターの有用性を考えると、クラス Heap1 と Heap2 で識別される 2 つのヒープがあるとします。各ヒープ クラスには、割り当てと割り当て解除を実行するための静的メンバー関数があります。
さらに、いくつかの STL コンテナーのコンテンツを異なるヒープに配置したいとします。繰り返しますが、問題ありません。まず、実際のメモリ管理に Heap1 や Heap2 などのクラスを使用するように設計されたアロケータを作成します。
次に、SpecialHeapAllocator を使用してコンテナーの要素をまとめてクラスター化します。
この例では、Heap1 と Heap2 がオブジェクトではなく型であることが非常に重要です。STL は、同じ型のさまざまなアロケーター オブジェクトを使用してさまざまな STL コンテナーを初期化するための構文を提供しますが、それが何であるかを説明するつもりはありません。これは、Heap1 と Heap2 が型ではなくオブジェクトである場合、それらは等価でないアロケーターになり、アロケーターの等価制約に違反するためです。
上記の私の質問は
「同じタイプの異なるアロケータ オブジェクトで異なる STL コンテナを初期化する」ための STL 構文は何ですか?
Heap1 と Heap2 がオブジェクトである場合、それらが同等でないアロケータであるのはなぜですか?