variadic function
-
c/c++'da printf, scanf gibi temel kütüphane metodlarında kullanılmasına rağmen implementasyonu (cstdarg) o kadar gariptir ki kullanıldığını hemen hiç görmüyorum. hoş, görmek de istemem.
http://www.cplusplus.com/…ference/clibrary/cstdarg/ -
-
variadic fonksiyonlar variadic argumentlere sahiptirler. bu tur fonksiyonlarin calismasi icin cstarg kullanmak gerekir. ornek:
double average ( const int count , ...) //buradaki "..." uc ayri noktadir ve variadic argument'e ornektir.
{
va_list ap; // argument pointer yani handle
int i ;
double total = 0.0 ;
va_start ( ap, count );
for ( i = 0 ; i < count ; ++i){
total += va_arg (ap, double ); } //argument type belirlemek icin double type olarak sona yazildi.
va_end(ap); // va_start'la basladigimiz icin va_end'le bitiriyoruz ki leaky code olmasin ve buglardan uzak durulsun
return total / count ; }
ekşi sözlük kullanıcılarıyla mesajlaşmak ve yazdıkları entry'leri
takip etmek için giriş yapmalısın.
hesabın var mı? giriş yap