shared_ptr是一個模板類,它保存了一個指向動態分配的對象的指針,當指向這個對象的最後一個shared_ptr被銷燬的時候,這個對象也被銷燬了。
有三種使用 shared_ptr的方法:
1)使用 std::shared_ptr
要用 std::shared_ptr的方式使用。
實例代碼:
#include
#include
class A
{
public:
A()
...
分类:
其他好文 时间:
2015-05-30 18:20:51
阅读次数:
115
Boost Asio 异步TCP服务器框架
flyfish 2015-5-30
session 类 头文件
#pragma once
#include
#include
#include
#include
class session: public boost::enable_shared_from_this
{
public:
session(boost:...
分类:
其他好文 时间:
2015-05-30 08:13:04
阅读次数:
216
boost中有一个lexical_cast可以用统一的方式来做基本类型之间的转换,比如字符串到数字,数字到字符串,bool和字符串及数字之间的相互转换。boost::lexical_cast的用法比较简单:#include #include #include #define ERROR_LEX...
分类:
编程语言 时间:
2015-05-28 23:02:09
阅读次数:
172
有时候默认的字段打分不能满足我们的需要,如我们想把关键词出现在标题中的优先显示。测试于:Solr 4.5.1, Jdk 1.6.0_45, Tomcat 6.0.37 | CentOS 5.7实现方法有3个:在建索引的时候设置boost,这个值会写入文件,建索引时有额外的性能开销;在查询的时候指定b...
分类:
编程语言 时间:
2015-05-28 15:32:37
阅读次数:
332
目前测试功能正常。若有不完善的地方在改进吧。时候不早了睡觉去,哎,翘课会被抓,不冒险了。晚安全世界O(∩_∩)O 1 /************************************************************************* 2 *my shared_...
分类:
其他好文 时间:
2015-05-28 01:56:48
阅读次数:
161
解决循环引用: 在知道存在循环引用的条件下,使用boost::weak_ptr,即弱引用来代替循环引用中的某个强引用,从而打破循环引用的环。由于 C++ 语言没有自动内存回收机制,程序员每次 new 出来的内存都要手动 delete,比如流程太复杂,最终导致没有 delete,异常导致程序过早退出,...
分类:
编程语言 时间:
2015-05-27 22:39:10
阅读次数:
597
智能指针和普通指针的区别在于智能指针实际上是对普通指针加了一层封装机制,这样的一层封装机制的目的是为了使得智能指针可以方便的管理一个对象的生命期。智能指针内部有一个计数器,记录了当前内存资源到底有多少指针在引用(可以访问这个资源),当新增加一个可以访问这个资源的引用时,计数器会加1,反之会减去1,当...
分类:
其他好文 时间:
2015-05-27 22:23:48
阅读次数:
113
#include?<iostream>
#include?<vector>
#include?<algorithm>
#include?<boost/timer.hpp>
#define?NUMS?(10000000)
int
main()
{
????std::vector<int>?v1,?v2;
????for(int?i=0;?i<NUMS;?...
分类:
其他好文 时间:
2015-05-27 17:33:09
阅读次数:
122
//将标点分开
boost::wregex rgx(L"(')|(\\.)|(,)",boost::wregex::icase| boost::wregex::perl);
line = regex_replace(line,rgx,L" $1$2$3 ");...
分类:
其他好文 时间:
2015-05-27 17:29:08
阅读次数:
141
auto_ptr 智能指针(C98)#includeusing namespace std;void main(){//auto_ptrfor ( int i = 0; i a_p(p);}cin.get();}查看任务管理器:
分类:
其他好文 时间:
2015-05-26 21:14:33
阅读次数:
156