
STL
DayThinking
这个作者很懒,什么都没留下…
展开
-
STL 组件
STL的基本观念就是将数据和操作分离。数据由容器类别加以管理,操作则由可定制的算法加以定义。迭代器在两者之间充当粘合剂,使任何算法都可以喝任何容器交换操作。STL将数据和算法分开对待,而不是合并考虑。因此从某种意义上说,STL的概念和面向对象设计的最初思想是矛盾的。然而这么做有很重要的原因。首先,你可以将各种容器与各种算法结合起来,在很小的框架内拥有非常大的弹性。STL提供六大组件,彼此可原创 2012-04-12 09:59:57 · 1383 阅读 · 0 评论 -
关键字 explicit
C++ 中 explicit 关键字的作用 在 C++ 中, 如果一个类有只有一个参数的构造函数,C++ 允许一种特殊的声明类变量的方式。在这种情况下,可以直接将一个对应于构造函数参数类型的数据直接赋值给类变量,编译器在编译时会自动进行类型转换,将对应于构造函数参数类型的数据转换为类的对象。 如果在构造函数前加上 explicit 修饰词, 则会禁止这种自动转换,在这种情况下, 即使将对原创 2012-04-11 10:35:01 · 724 阅读 · 0 评论 -
auto_ptr源码解析
C++ STL的auto_ptr实现(位于memory头文件中)如下:// TEMPLATE CLASS auto_ptrtemplateclass auto_ptr;//auto_ptr的proxy类,因为auto_ptr本身的copy构造和赋值函数不支持const引用参数(右值的类型),特定义此类为const引用代理//在auto_ptr中添加参数类型为auto_p转载 2012-08-01 10:35:48 · 2704 阅读 · 0 评论 -
主流RAII class的存在价值——不存在能够完全替代Dumb Pointer的RAII class
摘自:51CTO酋长(http://clement.blog.51cto.com/2235236/d-1)前言前几天在很多地方老是碰到RAII(Resouce Acqusition Is Initialition)相关的话题,对于这一块,由于自己以前在代码中很少用到,从来都习惯于使用内置指针(dumb pointer),所以从没仔细去研究过。当它足够频繁的出现在我的眼前时,转载 2012-08-01 10:40:05 · 1496 阅读 · 0 评论 -
C++ STL容器中erase的使用
erase()函数的功能是用来删除容器中的元素函数原型:iterator erase(iterator where);iterator erase(iterator first,iterator last);basic_string& erase(size_type p0=0,size_type n=np);删除某个容器里的某个元素:c.erase(T);看似一个简转载 2012-04-12 14:11:05 · 10104 阅读 · 0 评论 -
com组件编程
1.单字节,多字节和宽字节abc2.进程外com与进程内com的区别(主要在注册方面)abc3.com控件字符串参数传递abc原创 2016-02-29 00:36:36 · 1731 阅读 · 0 评论