Öğrenilmesi Gereken Temel Konular (C++)

  • Konbuyu başlatan Konbuyu başlatan Admin
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 0
  • Görüntüleme Görüntüleme 119

Admin

Metin2Lobby
Yönetici
Founder
Katılım
6 Mayıs 2022
Mesajlar
52,647
Ticaret : 1 / 0 / 0
Değişkenler ve Değişken Tipleri​



Programlarımızda işlemlerimizi yaparken verileri kullanırız. Mesela herhangi iki sayıyı toplarız veya iki tane karakter dizisini (string) karşılaştırırız. Bu işlemler için kullandığımız verilerimizi değişkenler içinde tutarız. Değişkenler bilgisayar hafızasında verileri depolayan ve isimleri olan programlamının en temel elementleridir.
Değişkenlerin isimlerinin olmasını gerektiğini söyledik. Bir değişkeni kullanmadan önce onu tanımlamalıyız. Tanımlamayı değişkene uygun bir isim verme ve değişkenin hangi tipten olduğunu bildirmeyle yaparız.
Önce isterseniz değişleri C++ dili kuralların uygun bir biçimde nasıl isimlendireceğimizi görelim. Değişken isimlerini verirken C++'ın bir takım sıkı kurallarına uymamız gerekir. Bu kurallar:
Değişkenlerin isimleri alfabede bulunan karakterlerle başlamalı. Ama ilk harf hariç diğer karakterler sayı olabilir.






  • <li data-xf-list-type="ul">
    [*=left]C++ büyük ve küçük harf duyarlıdır. Yani Sayi, sayi ve SAYI hepsi ayrı değişken olarak algınalırlar.

  • <li data-xf-list-type="ul">
    [*=left]
    [*=left]Değişken isimleri birden fazla kelime olduğu zaman; kelimelerin arasına boşluk konmaz. Bu tür değişkenleri ya kelimeleri birleştirerek veya kelimeler arasına _ (alt çizgi) karakteri koyararak isimlendiririz.
    [*=left]Değişkenlerin isimleri !, ?, {, ] gibi karakterler içeremezler.
    [*=left]C++'ın anahtar kelimelerini de değişken isimleri olarak kullanamayız.

sayi, tamsayi1, toplam, Fark, KullaniciAdi, isim, _Adres, sinif_ortalaması, kurallar göre adlandırılmış değişkenlerdir. Diğer taraftan 1.sayi, tamsayi 1, fark!, 3.sinif_ortalamasi geçersiz değişken isimleridir. Böyle yanlış adlandırılmış değişkenleri içeren programlar derlenmez!
Anahtar kelimeler C++ dilinde bulunan komutların isimleridir. Bunları direk olarak değişken ismi olarak kullanamayız. Ayrıca alt çizgi ile başlayan değişken tanımlamadan kaçınmalıyız. Çünkü genelde C++ kütüphanelerini yazan programcılar değişkenlerini alt çizgi ile başlayan isimler verirler. Bu da isimler arasında çakışma yaratabilir. Değişkenleri isimlendirmeyi öğrendikten sonra sonra sıra C++ dilindeki temel veri türlerini öğrenmeye geldi.
Verileri bilgisayarda program çalışırken bellekte(RAM) depolanır. Bilgisayar belleği bitlerden oluşmuştur. Bir bit temel olarak 1 veya 0 değerini alır. Sekiz tane bit bir byte eder. Bilgisayarın hafızasında verilerin kapladıkları alanlar byte türünden ifade ederiz (bir çok sistemde bu böyledir). C++ verileri ihtiyacımıza göre değişik tiplerde tanımlarız kullanırız.
C++ dilinde hazır bulunan temel veri tipleri şunlardır:



*Yalnız platform ve işletim sistemine göre değişkenlerin boyutları yukarıdakilerden farklı olabilir. Ama ANSI C++ standart derleyicilerinin hepsi yukarıdaki veri tiplerini desteklerler. Yukarıda dikkate ederseniz değişkenlerin çoğunun unsgined ve signed versiyonları var. Bunlardan signed olanları hem pozitif hem de negatif değerler alırken; unsigned versiyonlar ise sadece pozitif değerler alırlar.
Değişkenleri isimlendirdik ve onların tiplerini öğrendik. Şimdi değişkenleri bildirmeyi ve onları kullanmayı öğrenelim. Genel olarak temel veri tiplerinden olan değişkenleri şu şekilde tanımlarız:
;
Yukarıdaki kurala uygun olarak aşağıda bununla ilgili örnekler vardır:

Kod:
int sayi;        unsgined int a;        char karakter;        float sayi_2;        bool dogru_yanlis;        unsigned long uzunTamsayi;
Yukarıdaki değişken tanımlamalarının hepsi kurallara uygundur. İstersek birden fazla değişkeni bir satırda tanımlama olanağımız vardır:

Kod:
int sayi1, sayi2, sayi 3;        char karakter, baskabir_karakter;
Örnekte int tipinden üç değişkeni tek bir satırda tanımlamayı ve aynı şekilde char tipinden iki değişkeni tek bir satırda tanımlıyoruz. Burda dikkat edilmesi gereken nokta değişkenlerin arasına virgül koymamız gerektiğidir.
Değişkenlere değer atama işlemi için eşittir (=) operatörünü kullanırız. Mesela aşağıdaki kod parçasında önce x değişkenini sonra da y değişkenini tamsayı (int) tipinde bildirdik. Sonra programın herhangi bir yerinde x'in içeriğini 25 yaptık. Bunun hemen ardından y'nin değerini 14 yaptık. En son kısımda x'in değerini y'de depoladık.

Kod:
int x;        int y;        ......        x=25;        y=14;        ....        y=x;
Değişkenlerin değerlerini ilk tanımladığımız anda da atayabiliriz. Aşağıda bununla ilgili örnekler verelim:

Kod:
double t=3.25;       bool dogru_mu=false;       long int s1=12345, s2=-694312978425;      double t=3.25;

Kod:
// İki tamsayı alan ve toplamını bulan program #include  int main() {     int sayi1;     int sayi2;     int toplam;     cout &lt;&lt; "\n Lütfen birinci tamsayıyı girniz: ";     cin   &gt;&gt; sayi1;     cout &lt;&lt;"\n Lütfen ikinci tamsayıyı girniz: ";     cin   &gt;&gt; sayi2;     toplam = sayi1 + sayi2;     cout &lt;&lt; "\n " &lt;&lt; sayi1 &lt;&lt; " + " &lt;&lt; sayi2 &lt;&lt; " = " &lt;&lt; toplam &lt;&lt; endl;    return 0; }

Son olarak yukarıdaki programı yazalım. Programda int tipinden sayi1, sayi2 ve toplam değişkenlerimizi tanımladık. Sırası ile kullanıcıdan bu değişkenlerin değerlerini aldık ve sonucu ekrana yazdırdık. Program basit gibi görünebilir ama mutlaka yazın, derleyin ve çalıştırın.

Devamı gelecek...


Öğrenilmesi Gereken Temel Konular (C++)

Metin2 özel sunucu geliştirme sürecinde C++ dili büyük bir öneme sahiptir. Özellikle Metin2 server src, game server programming ve core geliştirme gibi alanlarda C++ bilgisi kritik seviyededir. Bu yazıda, Metin2 özel sunucularında geliştirme yapmak isteyenler için öğrenilmesi gereken temel C++ konularını detaylı olarak ele alacağız.

1. Veri Tipleri ve Değişkenler
C++ dilinde veri tipleri, programlama yapısının temel taşlarından biridir. int, float, double, char gibi temel veri tipleri bilmek gerekir. Ayrıca unsigned int, long long gibi genişletilmiş tipler de Metin2 kaynak kodlarında sıkça karşımıza çıkar. Değişken tanımlamalarında ise doğru tiplerin seçilmesi performans ve hata yönetimi açısından önemlidir.

2. Fonksiyonlar ve Scope Kavramı
Metin2 server src içinde birçok fonksiyon vardır. Bu fonksiyonların nasıl çalıştığını anlamak, kendi kodlarınızı yazmanızı kolaylaştırır. Scope (kapsam) kavramı sayesinde değişkenlerin nerede tanımlandığını ve ne zaman erişilebilir olduğunu öğrenmek önemlidir. Lokal ve global scope arasındaki farklar özellikle core geliştirme sırasında çokça işinize yarayacaktır.

3. Pointer ve Referans Kullanımı
Pointer'lar C++'ın en güçlü ama aynı zamanda en tehlikeli yönlerinden biridir. Metin2 server src içinde pointer'larla çalışmak kaçınılmazdır. Bir nesnenin bellekteki adresine erişmek, dinamik bellek yönetimi yapmak ve referans ile değer aktarımı gibi işlemler pointer bilgisi olmadan yapılamaz. & ve * operatörlerinin kullanımı öğrenilmelidir.

4. Nesne Tabanlı Programlama (OOP)
Metin2 server programming yapılırken OOP prensipleri oldukça önemlidir. Class, object, inheritance, encapsulation ve polymorphism gibi kavramlar core yapılarını oluşturmaktadır. Özellikle bir karakter sınıfı, envanter sistemi veya PvP sistemleri gibi yapılar OOP ile daha düzenli ve okunabilir hale getirilir.

5. STL (Standard Template Library)
STL, C++’ın standart kütüphanelerinden biridir ve container sınıflarını içerir. vector, map, set gibi yapılar Metin2 geliştirme sırasında veri saklama ve erişim için çok kullanışlıdır. Iterator kullanımı da bu yapılarla birlikte öğrenilmelidir.

6. Hata Ayıklama ve Derleme Süreçleri
Metin2 compile işlemleri sırasında hatalarla karşılaşabilirsiniz. GCC, Clang gibi derleyicilerin verdiği hata mesajlarını doğru anlamak önemlidir. Ayrıca debug modda çalışmak ve hata ayıklama araçları kullanmak, geliştirme sürecini hızlandırır.

7. Sistem ve Modül Bütünlüğü
Metin2 server src içinde auth, game, db gibi farklı modüller vardır. Bu modüllerin birbiriyle olan ilişkisini ve nasıl haberlaştığını anlamak, sistemi daha iyi yönetmenizi sağlar. Core yapısı bu modüllerin uyumuna dayanır.

Sonuç
Metin2 özel sunucu geliştirme, hem teknik hem de yaratıcı yönüyle zengin bir alandır. C++ bilgisi olmadan bu alanda uzmanlaşmak mümkün değildir. Bu temel konuları öğrenmek, hem mevcut kaynak kodları anlamayı hem de yeni sistemler geliştirmeyi kolaylaştırır. Metin2Lobby üzerinden daha fazla kaynak ve rehber bulabilirsiniz.


Basic Topics That Need to be Learned (C++)

In the process of developing Metin2 private servers, the C++ language holds significant importance. Particularly in areas such as Metin2 server src, game server programming, and core development, knowledge of C++ is critical. In this article, we will examine in detail the fundamental C++ topics that need to be learned for those who wish to develop on Metin2 private servers.

1. Data Types and Variables
In the C++ language, data types are among the fundamental building blocks of the programming structure. It's essential to know basic data types like int, float, double, char. Extended types like unsigned int, long long also frequently appear in Metin2 source codes. Choosing the correct types during variable declarations is important for performance and error management purposes.

2. Functions and Scope Concept
Within Metin2 server src, there are many functions. Understanding how these functions work can make writing your own code easier. The scope concept helps you learn where variables are defined and when they are accessible. Differences between local and global scopes will prove highly useful during core development processes.

3. Pointer and Reference Usage
Pointers are one of the most powerful yet dangerous aspects of C++. Working with pointers is inevitable in Metin2 server src. Accessing the memory address of an object, performing dynamic memory management, and value transfer via reference cannot be done without understanding pointers. The usage of & and * operators should be learned.

4. Object-Oriented Programming (OOP)
When doing Metin2 server programming, OOP principles are very important. Concepts such as class, object, inheritance, encapsulation, and polymorphism form the core structures. Especially character classes, inventory systems, or PvP systems become more organized and readable through OOP.

5. STL (Standard Template Library)
STL is part of C++ standard libraries and contains container classes. Structures like vector, map, set are very useful for storing and accessing data during Metin2 development. Iterator usage must also be learned alongside these structures.

6. Debugging and Compilation Processes
During Metin2 compile operations, you may encounter errors. Correctly interpreting error messages given by compilers like GCC and Clang is important. Additionally, working in debug mode and using debugging tools can speed up the development process.

7. System and Module Integration[/COORD]
Within Metin2 server src, there are different modules such as auth, game, db. Understanding the relationship between these modules and how they communicate enables better management of the system. The core structure relies on harmony between these modules.

Conclusion
Developing Metin2 private servers is a rich field both technically and creatively. It is impossible to specialize in this area without knowledge of C++. Learning these basic topics makes it easier both to understand existing source codes and to develop new systems. You can find more resources and guides at Metin2Lobby.
 

Şuan Bu Konuyu Görüntüleyen Kullanıcılar (Toplam : 0, Üye : 0, Misafir : 0)

Benzer konular

Geri
Üst Alt