可移植的C++标准库 Boost_Debian_青云站长教程网
欢迎来到站长教程网!
  • 秒到短信接口 免费试用
  • 微信支付宝接口 秒结算
  • 中文网站排名|申请加入
  • 搜索引擎全站查询
  • 查询移动网站权重数据
  • 海外主机 台湾公司直销
  • Debian

    当前位置:主页 > 服务器教程 > Debian >

    可移植的C++标准库 Boost

    时间:2019-07-10|栏目:Debian|点击:
  • Boost库是一个经过千锤百炼、可移植、提供源代码的C++库,作为标准库的后备,是C++标准化进程的发动机之一。 Boost库由C++标准委员会库工作组成员发起,在C++社区中影响甚大,其成员已近2000人。 Boost库为我们带来了最新、最酷、最实用的技术,是不折不扣的“准”标准库。

    现有的 Boost 包含 87 种不同的函数库,以下面几项做范例:

    线性代数 – uBLAS

    Boost 包含了 uBLAS 线性代数函数库,能够借由基本函数库子函数(BLAS)来支持矢量与矩阵形运算。

    此范例表示如何矩阵与矢量作乘积:

    #include <boost/numeric/ublas/vector.hpp>
    #include <boost/numeric/ublas/matrix.hpp>
    #include <boost/numeric/ublas/io.hpp>
    #include <iostream>

    using namespace boost::numeric::ublas;

    /* 举例 "y = Ax"  */
    int main ()
    {
          vector<double> x (2);
          x(0) = 1; x(1) = 2;

          matrix<double> A(2,2);
          A(0,0) = 0; A(0,1) = 1;
          A(1,0) = 2; A(1,1) = 3;

          vector<double> y = prod(A, x);

          std::cout << y << std::endl;
          return 0;
    }

    随机数产生 – Boost.Random

    Boost 也提供独立分布的模拟随机与 PRNG 独立性的机率分布,而这些能够具体的创建产生器。

    此范例表示如何使用 Mersenne Twister 算法来产生随机

    #include <boost/random.hpp>
    #include <ctime>

    using namespace boost;

    double SampleNormal (double mean, double sigma)
    {
        // 建立一个 Mersenne twister 随机数产生器
        // 使用 Unix 时间设定 seed
        static mt19937 rng(static_cast<unsigned> (std::time(0)));

        // 选择高斯机率分布
        normal_distribution<double> norm_dist(mean, sigma);

        // 使用 function 的形式,生成随机数据产生器
        variate_generator<mt19937&, normal_distribution<double> >  normal_sampler(rng, norm_dist);

        // 传回样本分布结果
        return normal_sampler();
    }

    更详细的说明请参阅 Boost 随机数库

    多线程 – Boost.Thread
     
    示例码演示创建线程:

    #include <boost/thread/thread.hpp>
    #include <iostream>

    using namespace std;

    void hello_world()
    {
      cout << "Hello world, I'm a thread!" << endl;
    }

    int main(int argc, char* argv[]
    {
      // 開始一條使用 "hello_world" function 的新執行緒
      boost::thread my_thread(&hello_world);
      // 等待執行緒完成工作
      my_thread.join();

      return 0;
    }

    Boost程序库完全开发指南——深入C++“准”标准库高清PDF版

    Linux下boost库的安装

    Ubuntu下编译安装boost库

    Ubuntu下编译boost 1.52b

    Ubuntu编译安装boost并在eclipse C/C++中使用

    上一篇:音乐播放器 Foobar2000

    栏    目:Debian

    下一篇:J2EE应用服务器 GlassFish

    本文标题:可移植的C++标准库 Boost

    本文地址:http://www.jh-floor.com/fuwuqijiaocheng/Debian/2357.html

    广告投放 | 联系我们 | 版权申明

    重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

    如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

    联系QQ:888888 | 邮箱:888888#qq.com(#换成@)

    Copyright © 2002-2017 青云站长教程网 版权所有 琼ICP备xxxxxxxx号