C++ Function Overloading & Function Overloading Resolution

Konu içerisinde function overloading ve resolution mekanizmalarına değineceğiz. Derleyicinin arka planda bunu nasıl yaptığını, hangi aşamalardan geçtiğini anlatmaya çalışacağım. Fonksiyonların aşırı yüklenmesi çevirisi yanlış bir anlama çıkabiliyor. Aşırı olan birşey iyi değildir. Burada fonksiyonların yüklenmesi diyelim. C++ dilinde bu mekanizma var, C dilinde yok. Function overloading basit olarak aynı isimli fonksiyonların bir arada bulunmasıdır. Amaç: Client’ın işini kolaylaştırmak. C dilinde bu mekanizmanın olmaması ne gibi sıkıntılar çıkarıyor ve neden yok?

C++ Function Default Argument

C dilinde olmayan C++, Java, C#, Python gibi dillerde bulunan bir mekanizma. C dilinde bir fonksiyonun kaç parametresi varsa o kadar argüman gönderilmesi gerekir. Variadic Function hariç tutuyoruz. Böyle bir mekanizmanın olması client tarafından birçok fonksiyonun aynı değerlerle çağırılmasıdır. Parametre sayısı fazla olan fonksiyonlarda bu mekanizma daha fazla işe yarıyor. Programcının işini kolaylaştırıyor. Default parametre mekanizması run time maliyeti getiren bir mekanizma değildir

C ve C++ Programlama Dilleri

Bu yazı C ve C++ programlama dilleri arasında ki farklılıklar, yeni standart ile gelen bazı değişiklikler vb konuları soru cevap şeklinde, maddeler olarak topladığım bir makaledir. C++11 standartları ile beraber dil büyüklüğü neredeyse 2 katına çıktığını söyleyebiliriz. Bunun devamında C++14 standartları(minör) ve C++17 standartları(major) gelmiştir. C++20 standartları için çalışmalar devam etmektedir. C++11 standartları ile dilin daha fazla genişlemesi konusunda birçok iyi ve kötü yorumlar yapıldı. Ama şu konu atlanıyor, Bjarne Stroustrup’un da yaptığı açıklamalarda C++ dilinin zaten küçük bir dil olma gibi bir amacı yoktur.