vs2013 boost signals

#include "stdafx.h"
#include <boost/signals2/signal.hpp>
#include <iostream>
using namespace std;

void func()
{
    std::cout << "Hello, world!" << std::endl;
}

void slots1()
{
    cout << "slots1 call" << endl;
}

void slots2()
{
    cout << "slots2 call" << endl;
}

struct Hello
{
    void operator()() const
    {
        std::cout << "Hello";
    }
};

int _tmain(int argc, _TCHAR* argv[])
{
    //
    //test boost signals
    //
    boost::signals2::signal<void()> sig;
    sig.connect(&slots1);
    sig.connect(&slots2);

    sig();

    boost::signals2::signal<void()> sig1;
    sig1.connect(Hello());
    sig1();

    return 0;
}

编译后出错, 需要在禁止掉相关警告

属性 -> C/C++ -> 高级 -> 禁用高级警告,  填写 4996.

编译可以通过.

时间: 2024-09-30 18:29:49

vs2013 boost signals的相关文章

观察者模式与Boost.Signals

1)  观察者模式定义 略,各种设计模式的书上都有定义. 2)  观察者模式一般实现 观察者模式一般实现,都是“被观察者”保存一个“观察者”的列表,循环这个列表来通知“观察者”.代码,其中使用了boost的智能指针shared_ptr: [cpp] view plaincopy #include <iostream> #include <list> #include "boost/shared_ptr.hpp" using namespace std; usin

boost::signals::signal的使用方法

吃力的讲完boost::signals的ppt.然后接着就是做练习题. 通过讲ppt,发现有一句话说的真好:你自己知道是一回事.你能给别人讲明确又是另外一回事.真的有些东西你自己理解,可是用语言去非常难表达,是不是用语言难以表达暴露出自己对所理解的东西不是真正的理解?... . orz.只是讲完ppt之后,真的对boost::singals的理解又加深一层.好了废话不多说了,如今来看两个习题(ppt的内容基本上是boost官方站点介绍boost::singlas使用方法的章节,这里不贴了): 第

boost::signals::signal的用法

吃力的讲完boost::signals的ppt,然后接着就是做练习题.通过讲ppt,发现有一句话说的真好:你自己知道是一回事,你能给别人讲明白又是另外一回事.真的有些东西你自己理解,但是用语言去很难表达,是不是用语言难以表达暴露出自己对所理解的东西不是真正的理解?....orz,不过讲完ppt之后,真的对boost::singals的理解又加深一层.好了废话不多说了,现在来看两个习题(ppt的内容基本上是boost官方网站介绍boost::singlas用法的章节,这里不贴了): 第一题: 题目

VS2008下直接安装使用Boost库1.46.1版本号

Boost库是一个可移植.提供源码的C++库,作为标准库的后备,是C++标准化进程的发动机之中的一个. Boost库由C++标准委员会库工作组成员发起,当中有些内容有望成为下一代C++标准库内容.在C++社区中影响甚大,是不折不扣的“准”标准库. Boost因为其对跨平台的强调,对标准C++的强调,与编写平台无关.大部分boost库功能的使用仅仅需包含对应头文件就可以,少数(如正則表達式库,文件系统库等)须要链接库.但Boost中也有非常多是实验性质的东西,在实际的开发中有用须要慎重.boost

Boost的某些库还是需要生成二进制的库的,必须安装才行,以及使用库的方法

头文件就是库使用者最常问的问题就是“我该怎么安装Boost”,这个也是我一开始最关心的问题,Boost这点做的很好,将大部分实现都封装在头文件里,所以对于一些基本的Boost库,其实是不需要安装的,只需要将头文件include到自己的程序里,当然前提是你把Boost的所有用到的头文件都拷贝了一份.Boost是如何做到这点的?这是因为Boost的头文件(*.hpp)包含了模板和内联函数,这点随便找一个hpp文件来看你就明白了,所以不需要去静态链接活动态链接二进制lib库了.不过Boost的某些库还

Quest for sane signals in Qt - step 1 (hand coding a Q_OBJECT)

探索qt的信号ref: http://crazyeddiecpp.blogspot.hk/2011/01/quest-for-sane-signals-in-qt-step-1.html If it wasn't for the particular implementation of signals that Qt has, it would be a quite wonderful library. So much about it has been made very easy in co

boost事件处理

尽管这个库的名字乍一看好象有点误导,但实际上并不是如此. Boost.Signals 所实现的模式被命名为 '信号至插槽' (signal to slot).它基于下面概念:当相应的信号被发出时.相关联的插槽即被运行. 原则上,你能够把单词 '信号' 和 '插槽' 分别替换为 '事件' 和 '事件处理器'. 只是,因为信号能够在随意给定的时间发出.所以这一概念放弃了 '事件' 的名字. 因此.Boost.Signals 没有提供不论什么类似于 '事件' 的类. 相反,它提供了一个名为 boost

Qt 和 Boost关于信号和槽的对比说明

对比 无论是 Qt 的实现方式还是 Boost 的实现方式,除了必须的定义信号和槽的类之外,都不需要额外的类. 两种实现都解决了类爆炸的问题.下面让我们对照着来看一下我们前面的分析. 两个不同的术语以及各自的动作:信号和槽: 在一个地方(信号)可以连接零个或者多个回调函数(槽)同时也是多对多的,一对多,多对多: 焦点在于连接本身,而不是提供者或者消费者: 不需要手工为了一个连接创建新的类: 连接仍旧是类型安全的. 这五点是信号槽系统的核心,Qt 和 boost 都拥有这些特性. 下面则是二者的不

Linux上安装使用boost入门指导

Data Mining Linux上安装使用boost入门指导 获得boost boost分布 只需要头文件的库 使用boost建立一个简单的程序 准备使用boost二进制文件库 把你的程序链接到boost库 1.获得boost 下载boost_1_46_1.tar.bz2 解压 2.boost分布 boost_1_46_1.........................boost根目录 boost/.....................................所有boost头文件