だから、約1年前、私はあなたと同じ船に乗っていました。C++を学ぶ必要性を感じたc#devを独習しました。確かに、私は何度も停止して開始しました。3回目の試みで、私はついにそれを突き抜けました。
理解する必要があるのは、C ++およびC#の方法論の観点から、ポインターと参照を介したデータ操作方法が実際に何を意味するのか、状況に応じてそれらをいつどのように使用するのかを理解するのに多くの時間を費やす可能性が高いことです。
C ++の良い点は、オブジェクトスタックの割り当てがほとんどの部分で非常に簡単であり、プログラムがこのメソッドで指定された要件を満たす場合は、この方法でオブジェクトを割り当てる必要があることです。それ以外の場合は、速度、効率、および迅速なクリーンアップのためにポインターに依存します。これを読むことをお勧めします:http : //www.parashift.com/c++-faq-lite/は、C ++が内部でどのように機能するかについての多くの技術的理解を与えるためです。
例を挙げましょう。
C ++には、「初期化リスト」と呼ばれるこのコンストラクター実装が存在します。これは、コンストラクターの本体のクラスメンバーの初期化とは異なります。どうして?初期化される型がプリミティブでない限り、コンパイラーは実際に、複数の、および ctorの本体に割り当てられたときに作成されるオブジェクトの不要なコピーを作成します。これにより、コンパイラーやアプリの拡張要件に応じて、パフォーマンスが低下する可能性があります。
デリゲートとは何ですか?さて、C ++では、関数ポインターとして知られています。この言語を最初に習得することは非常に困難ですが、素晴らしいものにしたい場合は、間違いなく必要です。
C#は簡単です...とても簡単です。