1
ネイティブC++ "ああ":<thread>をC++/CLIコードに含まれているコードに使用します。よりよい解決策を探してい
#include <thread>
class a
{
//...
private:
// ...
std::mutex mutex;
};
C++/CLI:
#include "a.h" // error cause thread is included
私の解決策:
ネイティブC++ "ああ":
class a
{
a();
~a();
//...
private:
// ...
void* mutex;
};
"a.cpp"
#include <thread>
a::a()
{
mutex = new std::mutex;
}
~a::a()
{
delete mutex;
}
C++/CLI:動的なメモリ割り当てずにこれを行う方法を
#include "a.h" // no error
- ?
- これは安全ですか?私は何とか<スレッドからラップされたものを使用します> C++/CLI環境では、ヘッダにはありません。
- 良いアプローチがありますか?新しい/削除し、すべての使用のキャストは悪いようです。クラスのオブジェクトごとに1つのミューテックスが必要です。
解決策を提示するだけでなく、達成したいことを説明する必要がある場合は、より良い解決策を求めてください。動的メモリ割り当てがない場合'mutex * 'の代わりに' mutex'を使うだけですか? – user463035818
「ミューテックスの代わりにミューテックスを使用するだけです」* Ok。どうやって? – lars
PIMPLイディオム。 http://en.cppreference.com/w/cpp/language/pimpl –