初探boost之progress_display库学习笔记

progress_display

用途

progress_display可以在控制台上显示程序的执行进度,如果程序执行很耗费时间,那么它能提供一个友好的用户界

面,不至于让用户在等待中失去耐心,甚至怀疑程序的运行是否出了问题。

用法示例

#include <boost/progress.hpp>
#include <iostream>
#include <vector>
using namespace std;
using namespace boost;

int main()
{
std::vector<string> v(100);

progress_display pd(v.size());//申明进度条   参数即为进度条一行的总个数 本例为100

for (auto &x:v)
{
    cout<<x;
    ++pd;                      //循环共100次 每循环一次 pd+1  pd/v.size()*100% 即为进度的百分数
    for(int i = 0 ;i <6000;i++)
    {
        for(int j = 0 ;j<6000;j++);
    }                          //延时 看的更清楚而已
}

return 0;
}

参数的类型为unsigned long

实验结果为:

初探boost之progress_display库学习笔记

时间: 2024-11-05 14:40:24

初探boost之progress_display库学习笔记的相关文章

初探boost之timer库学习笔记

timer 用法 #include <boost/timer.hpp> #include <iostream> using namespace std; using namespace boost; int main() { timer t;//声明一个计时器对象,开始计时 cout<<"max:"<<t.elapsed_max()/3600<<"h"<<endl; //可度量的最大时间,以小时

初探boost之smart_ptr库学习笔记

概述 Boost.smart_ptr库提供了六种智能指针,除了shared_ptr 和 weak_ptr 以外还包括 scoped_ptr .scoped_array . shared_array .intrusive_ptr .他们的速度与原始指针相差无几,都是异常安全的,而且对于类型T也仅有一个要 求:类型T的析构函数不能抛出异常. 使用时包含头文件: #include<boost/smart_ptr.hpp> scoped_ptr 用法: scoped_ptr 的构造函数接受一个类型为T

初探boost之pool库学习笔记

pool 内存池概述 通常我们习惯直接使用new.malloc等API申请分配内存,这样做的缺点在于:由于所申请内存块的大小不定,当频繁使用时会造成大量的内存碎片并进而降低性能. 内存池则是在真正使用内存之前,先申请分配一定数量的.大小相等(一般情况下)的内存块留作备用.当有新的内存需求时,就从内存池中分出一部分内存块,若内存块不够再继续申请新的内存.这样做的一个显著优点是尽量避免了内存碎片,使得内存分配效率得到提升. pool库概述 pool库实现了一个快速.紧凑的内存池库,不仅能够管理大量的

0806------Linux网络编程----------Echo 网络库 学习笔记

1.Echo网络库的编写 1.1 Echo网络库1.0 1.1.1 Echo网络库 1.0 框架分析 a)class InetAddress: 主要用来定义一个struct sockaddr_in 结构(用自定义端口号初始化),并提供获取这个结构体成员如IP.Port等的接口: b)class Socket : 主要用来把一个普通的 sockfd 变为 listenfd(这里用一个sockfd初始化对象),提供bind .listen.accept 等接口. c)class TcpConnect

Java 8 流库学习笔记(一)

[core Java学习笔记]Java SE8 流库 Stream Library 从迭代到流 如果要计算一个文本中有多少长单词(字母>12). 迭代式: words = getlist();//虚构方法,获得一个List<String> long count = 0; for(String w:words) { if(w.length()>12) count++; } 流式: words = getlist();//虚构方法,获得一个List<String> long

Lufylegend库学习笔记1 绘图操作及鼠标事件

这几天对于网页前端有点兴趣,学习了一下Canvas的相关知识. 看到Lufylegend库之后,感觉很棒,有一种在写AS的感觉.今天入门第一站,写了一个画板. 是一个非常简易的画板,但是可以看到一些重要的思想. 代码如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Mouse Event</title&g

GDAL库学习笔记(1):无缝拼接Google卫星图

开工之前要先了解一下瓦片地图,瓦片地图金字塔模型是一种多分辨率层次模型,从瓦片金字塔的底层到顶层,分辨率越来越低,但表示的地理范围不变.实现原理就是,首先确定地图服务平台所要提供的缩放级别的数量N,把缩放级别最低.地图比例尺最大的地图图片作为金字塔的底层,即第0层,并对其进行分块,从地图图片的左上角开始,从左至右.从上到下进行切割,分割成相同大小(比如256x256像素)的正方形地图瓦片,形成第0层瓦片矩阵;在第O层地图图片的基础上,按每2x2像素合成为一个像素的方法生成第1层地图图片,并对其进

初步boost之pool图书馆学习笔记

pool 内存池概述 通常我们习惯直接使用new.malloc等API申请分配内存,这样做的缺点在于:因为所申请内存块的大小不定.当频繁使用时会造成大量的内存碎片并进而减少性能. 内存池则是在真正使用内存之前,先申请分配一定数量的.大小相等(普通情况下)的内存块留作备用.当有新的内存需求时.就从内存池中分出一部分内存块,若内存块不够再继续申请新的内存. 这样做的一个显著长处是尽量避免了内存碎片.使得内存分配效率得到提升. pool库概述 pool库实现了一个高速.紧凑的内存池库,不仅可以管理大量

BOOST之Thread库学习

//Boost并发编程之thread /*-----------------------------------------------------编译thread库 在工程中嵌入源码的方式: 直接在cpp文件中包含thread库的实现代码如下 #define BOOST_DATE_TIME_SOURCE #define BOOST_THREAD_NO_LIB #inclue<boost\thread.hpp> #ifdef _MSC_VER              //windows线程