📄 sum_avg.cpp
字号:
// FD.Delegate library examples
// Copyright Douglas Gregor 2001-2003. Use, modification and
// distribution is subject to the Boost Software License, Version
// 1.0. (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
// For more information, see http://www.boost.org
// Copyright (C) 2007 JaeWook Choi
// , modified from Boost.Function sum_avg.cpp
#include <iostream>
#include <fd/delegate.hpp>
void do_sum_avg(int values[], int n, int& sum, float& avg)
{
sum = 0;
for (int i = 0; i < n; i++)
sum += values[i];
avg = (float)sum / n;
}
int
main()
{
// The second parameter should be int[], but some compilers (e.g., GCC)
// complain about this
fd::delegate<void (int*, int, int&, float&)> sum_avg;
sum_avg = &do_sum_avg;
int values[5] = { 1, 1, 2, 3, 5 };
int sum;
float avg;
sum_avg(values, 5, sum, avg);
std::cout << "sum = " << sum << std::endl;
std::cout << "avg = " << avg << std::endl;
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -