Jadi, sekitar satu tahun yang lalu saya berada di kapal yang sama dengan Anda: otodidak c # dev yang merasakan kebutuhan untuk belajar C ++. Memang, saya berhenti dan mulai beberapa kali. Pada upaya ketiga saya, saya akhirnya terjebak melewatinya.
Apa yang penting untuk dipahami adalah bahwa, dalam hal C ++ dan C # metodologi, Anda mungkin akan menghabiskan banyak waktu memahami apa metode manipulasi data melalui pointer dan referensi benar-benar berarti, serta kapan dan bagaimana menggunakannya mengingat keadaan.
Yang menyenangkan tentang C ++ adalah bahwa alokasi tumpukan objek cukup sederhana untuk sebagian besar, dan Anda harus mengalokasikan objek dengan cara ini jika program Anda akan memenuhi persyaratan yang ditentukan dalam metode ini. Jika tidak, Anda mengandalkan pointer untuk kecepatan, efisiensi, dan pembersihan cepat. Saya sarankan membaca ini: http://www.parashift.com/c++-faq-lite/ karena akan memberi Anda BANYAK pemahaman teknis tentang bagaimana C ++ bekerja di bawah tenda.
Biarkan saya memberi Anda sebuah contoh:
Di C ++ terdapat implementasi konstruktor ini yang dikenal sebagai "daftar inisialisasi", yang berbeda dari menginisialisasi anggota kelas di tubuh konstruktor. Mengapa? Karena kecuali jika jenis yang diinisialisasi adalah primitif, kompiler akan benar-benar membuat banyak, dan salinan yang tidak perlu dari objek yang dibuat ketika dialokasikan di badan ctor. Ini berpotensi mengurangi kinerja, tergantung pada kompiler serta persyaratan skala aplikasi.
Tahu apa delegasi itu? Nah, di C ++ itu dikenal sebagai pointer fungsi . Bahasa ini cukup sulit untuk dikuasai pada awalnya, tetapi jika Anda ingin menjadi hebat ... itu pasti diperlukan.
C # mudah ... sangat mudah.