C++ Tutorial/Development/variable length argument lists

Материал из C\C++ эксперт
Перейти к: навигация, поиск

Using variable-length argument lists

<source lang="cpp">#include <iostream> using std::cout; using std::endl; using std::ios;

  1. include <iomanip>

using std::setw; using std::setprecision; using std::setiosflags; using std::fixed;

  1. include <cstdarg>

using std::va_list; double f( int, ... ); int main() {

  double double1 = 3.5;
  double double2 = 2.5;
  double double3 = 1.7;
  double double4 = 1.2;
  cout << f( 2, double1, double2 ) << endl
       << f( 3, double1, double2, double3 ) << endl
       << f( 4, double1, double2, double3, double4 ) << endl
       << endl;
  return 0;

} double f( int count, ... ) {

  double total = 0;
  va_list list;  // for storing information needed by va_start
  va_start( list, count );
  for ( int i = 1; i <= count; i++ )
     total += va_arg( list, double );
  va_end( list );
  return total;

}</source>

6
7.7
8.9