0
C++でJavaスタイルの参照を使用する最も良い方法は何ですか?すべてのクラスと構造体にshared_ptr
を使用するのは正しいでしょうか?C++でのJavaスタイルのメモリ管理
C++でJavaスタイルの参照を使用する最も良い方法は何ですか?すべてのクラスと構造体にshared_ptr
を使用するのは正しいでしょうか?C++でのJavaスタイルのメモリ管理
C++スマートポインタを理解するためにthis answerを読むことを強くお勧めします。今
、「Javaスタイルの参照」で、あなたがメソッドにオブジェクトまたは構造体を渡したいとオブジェクトに渡されたことは、オブジェクトのコピーではなく、むしろへ参照意味場合単純にを使用してください。
例:
void foo(int& ref, int val)
{
ref = ref + 1; // pass by reference
val = val + 1; // pass by value
}
...
int main()
{
int a = 10;
int b = 10;
foo(a, b);
// a is being passed by reference so foo directly modifies a
std::cout << "a = " << a << " b = " << b;
// output would be: a = 11 b = 10
}
JavaとC++は、異なる言語です。それらは同等ではなく、異なるコーディングスタイルをとる。 C++でコード化しようとすると、C++を書くのに適切な方法ではありません –
shared_ptr(とその兄弟)は、C++で(ほとんど)簡単にメモリを管理する正しい方法です – pm100
Javaは、 shared_ptr'が不足しています。 C++では、絶対に必要でない限り、動的割り当てを使用しないことをお勧めします。 – user4581301