問題タブ [noncopyable]

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 に答える
170 参照

c++ - テンプレート引数がコピー不可であることを static_assert する方法はありますか?

コンパイル時に一部の型がコピー不可であることを判断する方法はありますか? 以下が必要です:

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

c++ - 永続ハンドルを V8 に保存するには?

v8::Contextクラスに aと av8::Externalをメンバーとして保持したい。したがって、永続ハンドルを使用する必要があると考えました。

ただし、永続ハンドルは V8 ではコピーできないため、コードはコンパイルされません。エラーは、2 つのメンバーが初期化される行で発生します。コンテキストの場合、これはコンストラクターの初期化子リストにあります。外部の場合、これはコンストラクター本体の内部にあります。

1> エラー C2440: '=' : 'v8::Primitive *' から 'v8::Object *volatile ' に変換できません
1> 指す型は無関係です。
変換には、 reinterpret_cast 、C スタイルのキャスト、または関数スタイルのキャストが必要です

永続的なハンドルへのポインターを使用することを考えましたが、ハンドルの概念は既に何らかの参照を意味しているため、直観に反するように思えます。さらに、V8の内部ガベージコレクターがオブジェクトをクリーンアップできるように、ハンドルが破棄されると思います。

V8 オブジェクトをクラス メンバーとして永続的に保存するにはどうすればよいですか?

更新: 永続ハンドルへのポインターを使用しても、永続ハンドルを返すメソッドに対して同じコンパイラ エラーが発生します。

0 投票する
6 に答える
838 参照

c++ - コピー不可オブジェクトのコンストラクターの選択

このような複数のコンストラクターを持つコピー不可能なクラスがあるとします

ここで、オブジェクトを作成し、実行時に使用するコンストラクターを選択します。

私はこのようなポインタでそれを行うことができます:-

しかし、それは面倒で遅いと感じます。動的割り当てに頼らずにオブジェクトのコンストラクターを選択する簡単な方法はありますか?


詳細: 上記のFooクラスは単に問題を説明するためのものです。実際に関係するクラスは Windows ですGdiplus::Bitmap- http://msdn.microsoft.com/en-gb/library/windows/desktop/ms534420(v=vs.85)。 aspx

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

c++ - コピー不可能なオブジェクトのベクトルのベクトルを初期化することは可能ですか?

コピー不可能なオブジェクトのベクトルのベクトルを初期化することは可能ですか?

また

上記のコードがコンパイルされない理由がわかりました。私が求めているのは、回避策があるかどうかです。そのようstd::vectorなメンバー関数がresize_from_zeroコピーコンストラクターを必要としない場合、これは実行可能になるようです。

(これが違いを生む場合、私の質問は C++03 についてです)

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

c++ - クラスをコピー不可にするマクロ

クラスをコピー不可にする次のマクロに問題はありますか?

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

c++ - C++ - オブジェクトを繰り返し再初期化する方法は?

このロジックを C++ で実装しようとしています。

しかし、Object継承するboost::noncopyableため、代入演算子がないため、この正確なコードを使用することはできません。メソッドとコンストラクターをObject, に追加できます (ただし、コピー可能にすることはできません)。他の質問には、解決策として新しい手動の破棄と配置がObjectあります. どのような代替手段がありますか?

0 投票する
3 に答える
695 参照

c# - C#でコピー不可能な型を作ることは可能ですか

C# で、コピーすることはできず、参照によってのみ渡すことができるクラスを作成することは何とか可能ですか?

C++ での同等の方法は、コピー コンストラクターとコピー代入演算子を削除することです。