Movatterモバイル変換


[0]ホーム

URL:


cppreference.com
Namespaces
Variants
    Actions

      va_copy

      From cppreference.com
      <cpp‎ |utility‎ |variadic
       
       
      Utilities library
       
       
      Defined in header<cstdarg>
      void va_copy( std::va_list dest, std::va_list src);
      (since C++11)

      Theva_copy macro copiessrc todest.

      va_end should be called ondest before the function returns or any subsequent re-initialization ofdest (via calls tova_start orva_copy).

      Contents

      [edit]Parameters

      dest - an instance of theva_list type to initialize
      src - the sourceva_list that will be used to initializedest

      [edit]Expanded value

      (none)

      [edit]Example

      Run this code
      #include <cmath>#include <cstdarg>#include <iostream> double sample_stddev(int count, ...){double sum=0;    std::va_list args1;va_start(args1, count);    std::va_list args2;    va_copy(args2, args1);for(int i=0; i< count;++i){double num=va_arg(args1,double);        sum+= num;}va_end(args1);double mean= sum/ count; double sum_sq_diff=0;for(int i=0; i< count;++i){double num=va_arg(args2,double);        sum_sq_diff+=(num- mean)*(num- mean);}va_end(args2);returnstd::sqrt(sum_sq_diff/ count);} int main(){std::cout<< sample_stddev(4,25.0,27.3,26.9,25.7)<<'\n';}

      Output:

      0.920258

      [edit]See also

      enables access to variadic function arguments
      (function macro)[edit]
      accesses the next variadic function argument
      (function macro)[edit]
      ends traversal of the variadic function arguments
      (function macro)[edit]
      C documentation forva_copy
      Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/utility/variadic/va_copy&oldid=161415"

      [8]ページ先頭

      ©2009-2025 Movatter.jp