2016-11-21 20 views
0

C++でJavaスタイルの参照を使用する最も良い方法は何ですか?すべてのクラスと構造体にshared_ptrを使用するのは正しいでしょうか?C++でのJavaスタイルのメモリ管理

+2

JavaとC++は、異なる言語です。それらは同等ではなく、異なるコーディングスタイルをとる。 C++でコード化しようとすると、C++を書くのに適切な方法ではありません –

+0

shared_ptr(とその兄弟)は、C++で(ほとんど)簡単にメモリを管理する正しい方法です – pm100

+1

Javaは、 shared_ptr'が不足しています。 C++では、絶対に必要でない限り、動的割り当てを使用しないことをお勧めします。 – user4581301

答えて

0

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 
}