factorial3.cpp
来自「Boost provides free peer-reviewed portab」· C++ 代码 · 共 37 行
CPP
37 行
// Copyright (C) 2001-2003// William E. Kempf//// Distributed under 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)#include <boost/thread/thread.hpp>#include <iostream>const int NUM_CALCS=5;class factorial{public: factorial(int x, int& res) : x(x), res(res) { } void operator()() { res = calculate(x); } int result() const { return res; }private: int calculate(int x) { return x <= 1 ? 1 : x * calculate(x-1); }private: int x; int& res;};int main(){ int results[NUM_CALCS]; boost::thread_group thrds; for (int i=0; i < NUM_CALCS; ++i) thrds.create_thread(factorial(i*10, results[i])); thrds.join_all(); for (int j=0; j < NUM_CALCS; ++j) std::cout << j*10 << "! = " << results[j] << std::endl;}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?