恰巧今天调试程序遇到时间戳问题, 于是又搜了搜关于取时间戳,以及时间戳转字符串的问题, 因为 time()   只能取到秒(win和linux) 想试试看能不能找到 至少可以取到毫秒的, 于是, 就找到 了 c++11 标准库:  std::chrono 然后做了实验, 测试了下,代码如下 1. windows版: 输出如下: t1=str2stmp(nullptr) = t2=str2stmp( t3=stmp2str(t1) =-- :: t4=stmp2str(t2) =-- :: t4=…
以下整理自:https://www.2cto.com/kf/201404/290706.html chrono 库主要包含了三种类型:时间间隔 Duration.时钟 Clocks 和时间点 Time point duration: duration 表示一段时间间隔,用来记录时间长度,可以表示几秒钟.几分钟或者几个小时的时间间隔 duration 的原型是: template<class Rep, class Period = std::ratio<1>> class durat…
第二部分包含了支持专业编程工作所需的更高级的模块,这些模块很少出现在小脚本中. 11.1. 输出格式 reprlib 模块为大型的或深度嵌套的容器缩写显示提供了 :repr() 函数的一个定制版本: >>> import reprlib >>> reprlib.repr(set('supercalifragilisticexpialidocious')) "set(['a', 'c', 'd', 'e', 'f', 'g', ...])" pprin…
刚开始学网络编程,稍微扩展书上的简单C/S程序时,发现以前太忽略标准I/O这一块,查官网发现C++11新增了几个格式化I/O函数. snprintf    将格式化输出写入到有大小限制的缓存中 vfscanf     从流中读取数据到可变参数列表中 vscanf      读取格式化数据到可变参数列表中 vsnprintf  从可变参数列表中写入数据到有大小限制的缓存中 vsscanf     从字符串中读取格式化数据到可变参数列表中 主要谈谈snprintf,后面4个都是辅助可变参数列表的.…
bind 是什么? bind 顾名思义: 绑定 通俗来讲呢,可以这么理解有点像函数指针的意思. 资料上是这么讲的:可以将 bind 函数看做一个通用函数的适配器,它接受一个可调用对象,生成一个新的可以调用对象来"适应"原对象参数列表 它一般调用形式: // 其中 newCallable 是一个可调用的对象, arg_list 是以逗号分隔的参数列表 // 这时我们调用 newCallable,newCallable 就会调用 callable, 并用 arg_list 传递参数 aut…
C++标准库第二版笔记 1 C++ std历史 第一份标准化文档: C++98 & C++03 & TR1 TR1 Information Technology- Programming Languages - Technical Report on C++ Library Extensions 内涵大幅度的标准库扩充,在 namespace std::tr1中. 第二份标准化文档: C++11 标准库在做不断的同质化(homogeneous),他并不是要发明新的东西,而是让既有的东西和谐…
智能指针的出现是为了能够更加方便的解决动态内存的管理问题.注:曾经记得有本书上说可以通过vector来实现动态分配的内存的自动管理,但是经过试验,在gcc4.8.5下是不行的.这个是容易理解的,vector是个模板,它不能辨别传入的数据类型是否是指针,从而也不能进行自动的释放内存操作.如果对非new出的对象进行delete操作,反而还会引起一些不必要的问题. C++11标准库为了能够使程序员能够更安全的使用动态内存,提供了两种智能指针类型来管理动态对象. shared_ptr类 智能指针也是模板…
c++ 11开始语言本身和标准库支持并发编程,意味着真正要到编译器从语言和标准库层面开始稳定,估计得到17标准出来.14稳定之后的事情了,根据历史经验,新特性的引入到稳定被广泛采用至少要一个大版本的跨越才能稳定和被大规模production使用. 关于c++ 11之前的两个常用线程库主要是pthread和OpenMP,说是OpenMP在使用便利性上比pthread要好,只不过pthread是POSIX标准,在windows上也提供了相同的接口,笔者尚未仔细研究,具体可参考下http://blog…
Operator--标准功能性操作符接口. 代码中使用迭代器时,有时必须要为一个简单表达式创建函数.有些情况这些函数可以用一个lambda函数实现,但是对于某些操作,根本没必要去写一个新的函数.因此operator模块定义了一些函数,这些函数对应于算术.比较和其他与标准对象API对应的操作. 1.逻辑操作符(Logical Operations) 下面函数用于确定一个值的布尔等价值,或者否定它创建相反的布尔值,或比较对象确定它们是否相同. from operator import * a = -…
conditon_variable(条件变量)用于线程间同步 condition_variable有5个函数,函数名及对应的功能如下: wait阻塞自己,等待唤醒 wait_for阻塞自己,等待唤醒,最多等待一段时间 wait_until阻塞自己,等待唤醒,最多等待到某个时间点 notify_one 唤醒一个等待在这个条件变量上的线程 notify_all 唤醒所有等待在这个条件变量上的线程 3个wait函数都要求输入一个已经上锁的unique_lock<mutex>变量,并且都有两个版本,一…