- 浏览: 218640 次
- 性别:
- 来自: 杭州
文章分类
- 全部博客 (163)
- c++ (30)
- JavaScript (30)
- java (61)
- jQuery (3)
- ACE (2)
- oracle (9)
- jni (0)
- android (2)
- shell (1)
- myeclipse (1)
- Hibernate (1)
- linux (2)
- sqlserver (2)
- windows (2)
- sql (2)
- php (2)
- css (1)
- 学习 (1)
- ExtJs (1)
- RSS (1)
- 报文 (1)
- 跟我学Spring3 (6)
- dos (1)
- server (1)
- nosql (4)
- mongodb (6)
- photoshop (1)
- WebService (2)
- 股票 (1)
- OpenGL (3)
- Spring3MVC (6)
- 生活 (1)
- struts2 (1)
- 云盘 (1)
- blog (1)
- nosql nodejs mongoose (1)
最新评论
-
sblig:
配置分片: mongo -port 27017config ...
搭建Mongodb集群:分片Sharding+副本集Replica Set -
sblig:
配置路由:mongs: 40000 40100 40200sc ...
搭建Mongodb集群:分片Sharding+副本集Replica Set -
fuanyu:
哥们,干得漂亮。。
struts2 高危漏洞修复 -
sblig:
配置列子如下
<?xml version="1 ...
跟我学Spring3 学习笔记一 -
sblig:
307622798 写道博主你好,最近在看你的js系列文章,发 ...
JavaScript 学习笔记 二 对象的访问
1. timer.hpp
timer接口简单,轻巧好用 不适合高精度,跨度大的 如以天,月,年为跨度时间单位 可以使用 date_time
计时用的是标准头文件 <ctime>里的 std::clock()函数 精度依赖操作系统或编译器 难以跨平台
2. progress_timer.hpp 继承 timer
省去 elapsed(),用于自动计时 小工具
progress_timer t;//声明对象就开始计时 自动在作用域结束释放,并自动输出计时时间
题外话1:
java
int j=0;
for(int i=0;i<1000;i++){
j = j++;
}//最终 j 还是等于 0
c++
int j=0;
for(int i=0;i<1000;i++){
j = j++;
}//最终 j 等于 1000
题外话2:
oracle 函数应用 截取字符串 hello 截取掉 h
除了用 substr ,还可以用 trim ;
select trim('h' from 'hello') from dual; ello
SELECT LTRIM('WWhhhhhaT is tHis w W','Wh') FROM DUAL; aT is tHis w W
SELECT RTRIM('WWhhhhhaT is tHis w W','W w') FROM DUAL; WWhhhhhaT is tHis
参考 http://guanhuaing.iteye.com/blog/1498792
3. 扩展 progress_timer
progress_timer 使用方便,但是精度才小数点后两位,有些应用不能满足
可以直接修改 progress_timer.hpp std::streamsize old_prec = m_os.precision( 2 );//2 就是精度
本着开一闭原则,没有预留发挥空间。 模板技术仿造 progress_timer 新类
new_progress_timer.hpp
#include <boost/progress.hpp>
#include <boost/static_assert.hpp> //使用模板参数实现 progress_timer template<int N = 2> class new_progress_timer : public boost::timer { public: //初始化 输出流 m_os ,并用 static_assert 静态断言 保证 N取值 0和10之间 new_progress_timer(std::ostream & os=std::cout):m_os(os){ BOOST_STATIC_ASSERT(N>=0 && N<=10);//静态断言 } ~new_progress_timer(void){ try{ //保存流的状态 std::istream::fmtflags old_flages = m_os.setf(std::istream::fixed,std::istream::floatfield); std::streamsize old_prec = m_os.precision(N); //输出时间 m_os<<elapsed()<<" s\n"<<std::endl; //恢复流状态 m_os.flags(old_flages); m_os.precision(old_prec); }catch(...){} } private: std::ostream & m_os; }; //使用模板特化,精度为2的直接继承自progress_timer template<> class new_progress_timer<2>:public boost::progress_timer{};
#include <stdio.h> #include <boost/timer.hpp> #include <boost/progress.hpp> #include "new_progress_timer.hpp" using namespace boost; int main() { //1. timer timer t; printf("%f h\n",t.elapsed_max()/3600); printf("%f s\n",t.elapsed_min()); printf("%f s\n",t.elapsed()); printf("\n"); //2. progress_timer 继承 timer progress_timer pt; int j=0; for(int i=0;i<1000;i++){ j = j++; } printf("%d \n",j); //3. 扩展progress_timer 精度为10位 new_progress_timer<10> nt; for(int i=0;i<10000000;i++){ j = j++; } printf("%d \n",j); }
发表评论
-
OpenGL 图形编程 学习笔记 三
2013-01-04 13:54 1821[2012-12-31 16:53] openGL笔记 ... -
OpenGL 图形编程 学习笔记 二
2013-01-04 13:48 1182[2012-12-31 16:38] OpenGL ... -
OpenGL 图形编程 学习笔记 一
2013-01-04 13:45 1096[2012-12-31 16:15] OpenGL学习笔 ... -
“工业级” 断言
2012-09-06 12:30 962class Assert { public: A ... -
算法学习 之遍历
2012-05-22 14:22 1072/********************广度优先遍历算 ... -
算法学习 之链表
2012-05-22 13:52 975/**********开放定址哈希表的存储结构***** ... -
算法学习 之查询
2012-05-22 11:45 862/******************顺序查找***** ... -
算法学习 之排序
2012-05-07 11:42 903/***********直接插入排序********** ... -
日常开发有用标签 五
2012-04-11 10:42 880linux cmd Mr__zh ... -
日常开发有用标签 四
2012-04-11 10:38 754java I/O 深入分析 Java ... -
日常开发有用标签 三
2012-04-11 10:37 861java thread java并发编程- ... -
日常开发有用标签 二
2012-04-11 10:35 664java 100个Java经典例子(41- ... -
日常开发有用标签 一
2012-04-11 10:31 911工具 Linux 常用C函数(中文版) ... -
C++ Primer 笔记七
2012-03-27 16:15 871每个类都定义了一个接口和一个实现。接口由使用该类的代码需要执行 ... -
C++ Primer 笔记六
2012-03-07 14:38 802typedef 通常被用于以下三种目的: 1.为了隐藏特定类型 ... -
C++ Primer 笔记五 引用(const)1
2012-02-24 17:50 1220定义 const 对象常量在定义后就不能被修改,所以定义时必须 ... -
C++ Primer 笔记四
2012-02-22 15:38 10111.内置类型变量是否自动初始化取决于变量定义的位置。在函数体外 ... -
C++ Primer 笔记三
2012-02-22 12:53 846初始化变量定义指定了变量的类型和标识符,也可以为对象提供初始值 ... -
C++ Primer 笔记二
2012-02-16 16:09 898/* * main.cpp * Created on ... -
C++ Primer 笔记一
2012-02-16 16:08 897/* * main.cpp * Created on ...
相关推荐
Boost 模板元编程学习笔记(二),开始你模板元编程的历程。C++,模板,标准库,元编程,教程,笔记
BOOST学习资料整理收集
Boost是C++标准库开发人员参与编写的,非常好。里面有各种数组、线程池、通信库等,是Linux、Window通用的东西。不学他,就落伍了。
64位 VS2010 配置Boost库,这是学习Boost标准库开发的基础。
boost学习资料 boost graph 库 boost中文说明
本文总结了CRM模式BOOST拓扑结构实现PFC的学习笔记,希望本章的内容对大家学习PFC能够有所帮助
本笔记是全面认识开关电源BUCK BOOST参考笔记,值得下载收藏
Boost库学习指南 Boost库学习指南Boost库学习指南 Boost库学习指南
搜集到的boost文档资料,供需要使用时参考。
AWR1443boost用户指南笔记1
Boost库学习指南 Boost库学习指南 Boost库学习指南 Boost库学习指南
An+Introduction+to+Boost.chm Beyond+the+C+++Standard+Library(中文版...Boost And STL学习资料 .chm boost graph library.pdf Boost程序库完全开发指南.pdf Boost学习指南.pdf 智能指针的标准之争 Boost_vs_Loki.pdf
Beyond+the+C+++Standard+Library(boost中文版) Boost程序库完全开发指南:深入C++_准_标准库 第3版 中文 Boost程序库探秘
Boostnote是一款采用ElectronJs开发的开源笔记应用
boost资料boost资料boost资料boost资料
boost库基本使用方法,使用cmake2.6构建工程,包含nocopyable\singleton\asio\filesystem\bind\thread\futuer等
Boost库学习指南
Boost多线程学习