C++
xuning2516
这个作者很懒,什么都没留下…
展开
-
C++ first-class object概念
C++ standard library P132看到一个新的概念first-class object.但是什么是first-class object?下面是来自维基百科的解释:A first-class object is one that can be dynamically created, destroyed or passed as an argument.So, for exa原创 2013-04-13 19:32:58 · 21775 阅读 · 0 评论 -
C++ std::list.size() has linear complexity
size_type size() const { size_type __result = 0; distance(begin(), end(), __result); return __result; }在sgi stl的实现版本中看到关于size member的实现。这里的distance是一个全局函数。对于random_acces原创 2013-03-31 13:16:38 · 15182 阅读 · 0 评论 -
C++ forwardlist学习
C++11中新增了forward_list,头文件是这个container是一个单向链表,在sgi stl中对应的是slist数据结构中数据项保存的是头节点,尾节点初始化为0,表示链表的end()。template class slist : private _Slist_base{ // requirements: __STL_CLASS_REQUIRES(_Tp, _Assi原创 2013-03-31 16:50:35 · 15287 阅读 · 0 评论 -
C++ container member map
本文来自http://www.cplusplus.com/reference/stl/Member mapThis is a comparison chart with the different member functions present on each of the different containers:Legend:C++98Avai转载 2013-03-31 16:58:28 · 15313 阅读 · 0 评论 -
C++ stl 通用算法和成员函数使用
在stl中既有通用函数,又有相同成员函数主要表现在list中。以remove为例 list coll; // insert elements from 6 to 1 and 1 to 6 for (int i=1; i<=6; ++i) { coll.push_front(i); coll.push_back(i); }原创 2013-03-31 21:36:04 · 15420 阅读 · 0 评论 -
forward list源码
forward_list 源码学习//forward_list的迭代器是forward_iterator,因此在forward list中需要注意保存前面一个元素的iterator,方便插入和删除。auto posbefore=flist.before_begin();for(auto pos=flist.begin();pos!=flist.end();++pos,++posbefore)原创 2013-03-31 21:53:11 · 15563 阅读 · 0 评论 -
C/C++ 时间
表示时间方法是时间的基点timepoint+duaration的形式;而变表示时间的类型有C tm结构体struct tm{ int tm_sec; /*秒,正常范围0-59, 但允许至61*/ int tm_min; /*分钟,0-59*/ int tm_hour; /*小时, 0-23*/ int tm_mday; /*日,即一个月中的第几天,原创 2013-04-09 09:58:39 · 15943 阅读 · 0 评论 -
C++ ratio
C++11提供了compile_time fractions and compile-time rational arithmetic support。支持编译时常量。头文件 来看ratio是怎么定义的00152 template00153 struct ratio00154 {00155 static_assert(_Den != 0,原创 2013-04-09 20:14:29 · 16790 阅读 · 0 评论 -
C++ stander library--type traits and type utility
C++11 提供了许多的类型特征和型别实用函数。1 declval01122 /// declval01123 template01124 struct __declval_protector01125 {01126 static const bool __stop = false;01127 static typename a原创 2013-04-12 10:09:53 · 17585 阅读 · 0 评论 -
C++ 条件运算符 ? :求公共类型
这段时间看C++标准库,看到有一个求公共类型的实用函数common_typetemplatestruct common_type{ typedef decltype(true?declval(),declval()) type;}刚开始还觉得奇怪,条件永远为true,不就是直接计算T1吗,想当然的以为产生公共类型不就是T1的类型吗?后然通过一个实例上机实验才发现不是这么回事。于是找到原创 2013-04-12 13:54:41 · 18657 阅读 · 0 评论 -
cin.clear()、cin.sync()和cin.ignor()的用法
一、cin.clear()、cin.sync() cin.clear()是用来更改cin的状态标示符的。 cin.sync()是用来清除缓存区的数据流的。如果标示符没有改变那么即使清除了数据流也无法输入。所以两个要联合起来使用。例如:#includeusing namespace std;int main(){ int a; cout<<"输入原创 2014-10-28 23:12:19 · 583 阅读 · 0 评论 -
standalone libraries
The fontbox and jempbox components are standalone libraries for handling font information and XMP metadata. These components have no external dependencies and can be used simply by adding the respec原创 2013-11-30 19:22:25 · 8895 阅读 · 0 评论