Çalışması geçici olarak durdurulabilen fonksiyonlara korutin denir. Korutin kapsamındaki değişken ve parametreler normal bir fonksiyonun aksine, yığın (stack) yerine öbekte (heap) depolanır. Bu sayede korutin, devam ettirildiğinde, normal bir fonksiyon gibi en baştan başlamak yerine, kaldığı satırdan devam edebilecektir.

Korutin kullanan bir program g++-10 derleyicisi ile “-fcoroutines” bayrağı (flag) ile derlenebiliyor. Farklı derleyiciler için gerekli versiyon bilgisi aşağıdaki figürde görülebilir.

Image for post
Image for post
Figür 1: Korutin kullanabilmek için gerekli olan derleyici versiyonları (Kaynak)

Bir C++ kodunda korutin kullanabilmek için <coroutine> kütüphanesini dahil etmemiz gerekli. Bu kodu derlemek için ise aşağıdaki komut kullanılabilir.

g++-10 korutin.cpp -fcoroutines

Bir fonksiyon co_return, co_await veya co_yield operatörlerinden en az birini kullanıyorsa bir korutindir.

Korutin fonksiyonunun özel bir dönüş…

Deniz Tuana Ergonul

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store