factorial.cpp

来自「Boost provides free peer-reviewed portab」· C++ 代码 · 共 41 行

CPP
41
字号
/*=============================================================================    Copyright (c) 2001-2003 Joel de Guzman    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 <vector>#include <algorithm>#include <iostream>#include <boost/spirit/include/phoenix_core.hpp>#include <boost/spirit/include/phoenix_function.hpp>using namespace boost::phoenix;using namespace boost::phoenix::arg_names;using namespace std;struct factorial_impl{    template <typename Arg>    struct result    {        typedef Arg type;    };    template <typename Arg>    Arg operator()(Arg n) const    {        return (n <= 0) ? 1 : n * this->operator()(n-1);    }};function<factorial_impl> factorial;intmain(){    int i = 4;    cout << factorial(arg1)(i) << endl;    return 0;}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?