代码模式
为其他对象提供一种代理以控制对这个对象的访问。
二:代理模式的应用
1) 远程代理,也就是为一个对象在不同的地址空间提供局部代表。这样可以隐藏一个对象存在于不同地址空间的事实。
2)虚拟代理,是根据需要创建开销很大的对象。通过它来存放实例化需要很长时间的真实对象。
3)安全代理,用来控制真实对象访问时的权限。
4)智能指针,是指当调用真实的对象时,代理...
分类:
其他好文 时间:
2015-06-25 09:07:19
阅读次数:
149
以独立语句将newed对象置入智能指针本节我们需要学习的知识核心是注意编译器在同一语句中,调用次序具有不确定性,不同语句中,调用次序确定。
上面的话什么意思?
请看以下代码:int priority();
int processWidget(shared_ptr pw, int priority);
processWidget(shared_prt pw(new...
分类:
编程语言 时间:
2015-06-24 16:22:53
阅读次数:
173
CUDA 5.5, boost 1.55, 更新 caffe 时出现:
/boost_1_55_0/boost/assert.hpp:102: error: ?.oinline?.was not declared in this scope查看/boost/assert.hpp 中 第102行是
BOOST_NOINLINE void assertion_failed_msg(CharT c...
分类:
其他好文 时间:
2015-06-23 21:48:03
阅读次数:
107
一 Boosting 算法的起源boost 算法系列的起源来自于PAC Learnability(PAC 可学习性)。这套理论主要研究的是什么时候一个问题是可被学习的,当然也会探讨针对可学习的问题的具体的学习算法。这套理论是由Valiant提出来的,也因此(还有其他贡献哈)他获得了2010年的图灵奖...
分类:
编程语言 时间:
2015-06-23 17:33:58
阅读次数:
167
http://www.boost.org/doc/libs/1_56_0/doc/html/boost/lockfree/queue.htmlClass template queueboost::lockfree::queueSynopsis// In header: template class ...
分类:
编程语言 时间:
2015-06-23 13:17:15
阅读次数:
191
使用boost::asio实现客户端的异步通讯访问pop3服务器。 #include?<iostream>
#include?<boost/asio.hpp>
#include?<boost/bind.hpp>
using?namespace?std;
using?boost::asio::ip::tcp;
#define?MAIL_SE...
分类:
其他好文 时间:
2015-06-22 06:31:59
阅读次数:
124
确保容器中的对象拷贝正确而高效在使用STL模板的时候,我们必须想到有关拷贝的问题。如果STL中存储的是我们自定义类型。可能会发生以下几个问题:首先为了避免拷贝过程成为程序运转的瓶颈,我们选择存储自定义的指针。但是,这里容易出现野指针的问题,所以我们需要使用智能指针shared_pre来避免。接着如果存储类型为基类,此时我们存储派生类,则会发生截断现象,即只copy了基类部分,而派生类部分丢失。最后相...
分类:
其他好文 时间:
2015-06-21 22:29:34
阅读次数:
197
#include
using namespace std;template
class auto_ptr_
{
public:
auto_ptr_(Type *t = NULL) :ptr(t), count(new int(1))
{
}
auto_ptr_(const auto_ptr_& at) :ptr(at...
分类:
编程语言 时间:
2015-06-20 18:27:19
阅读次数:
149
#include
using namespace std;template//引用计数的只能指针
class auto_ptr_
{
public:
auto_ptr_(Type *t = NULL):ptr(t), count(1)
{
}
auto_ptr_(const auto_ptr_& at)...
分类:
编程语言 时间:
2015-06-20 09:12:08
阅读次数:
136
关于迭代器的基本介绍可以看我之前泛型编程的文章:
STL的中心思想在于:将数据容器(containers)和算法(algorithms)分开,彼此独立设计,最后再以一帖粘合剂将它们撮合在一起。
迭代器(iterator)是一种 smart pointer,关于智能指针可以看我之前的文章(智能指针)。
迭代器是一种行为类似指针的对象,而指针的各种行为中最常见也最重要的便...
分类:
其他好文 时间:
2015-06-19 15:18:36
阅读次数:
150