İçsel ve onların isimsiz halleri olan anonim fonksiyonlar, başka fonksiyonların içinde tanımlanan fonksiyonlardır. Global fonksiyonlara göre daha dar bir bilinirlik alanına sahip olan bu fonksiyonlar genel olarak davranış değiştirmek ve olay dinlemek amacıyla başka fonksiyonlara callback olarak geçirilirler.
Birçok dilde yaygın bir kullanıma sahip bu fonksiyonlar C standartlarında yer almamaktadır. Buna karşın içsel fonksiyonlar GNU C eklentisi olarak desteklenmektedir. Anonim fonksiyonlar ise C++11 standartları ile C++ diline dahil edilmiştir.
Daha önce söylediğimiz gibi anonim fonksiyonlar (anonymous functions), bir isme sahip içsel fonksiyonların (nested functions) bir formudur. Tanımlanmaları ve çağrılmalarında bazı farklılıklar bulunmaktadır.
Biz ilk önce içsel fonksiyonların GNU C eklentisi olarak nasıl oluşturulduğuna, ardından anonim fonksiyonların C++ dilinde nasıl ele alındığına bakacağız. İncelemelerimizde GNU geliştirme araçlarından faydalanacağız.