W książce "C++ zaawansowane programowanie" przeczytałem o listach parametrów zmiennej długości i zaraz po tym napisałem w swoim programie funkcje która korzysta z tego mechanizmu dla klasy statusbar-a w celu ustawienia ilości części i tekstu w nich wyświetlanych
void c_statusbar::set( const unsigned int n, ... )
{
char * temp_argument_ptr;
char search_arguments[n][255];
va_list ap;
va_start( ap, n );
for (unsigned int i=0; i<n; ++i) {
temp_argument_ptr = va_arg( ap, char * );
strcpy ( search_arguments[i], temp_argument_ptr );
temp_argument_ptr = 0;
}
va_end( ap );
// dalsza czesc funcji....
}
w książce przedstawiono to raczej jako ciekawostkę i odradzano korzystania ale przyznam szczerze że ta opcja bardzo mi się spodobała dlatego mam pytanie czy można wyeliminować ewentualne ryzyko korzystania z tego elementu c++?