最新消息:

boost相关小知识(长期顶置更新)

技术文章 NickYang 12304浏览 16评论

2.boost throw_exception unresolved

在项目中(windows VS环境)增加了一些boost库,导致一个链接报错,

throw_exception unresolved (link error)

可以修改vs的工程属性,/EH 和 /GX属性

修改方法见:

http://msdn.microsoft.com/zh-cn/library/1deeycx5.aspx

http://msdn.microsoft.com/zh-cn/library/d42ws1f6(v=vs.80).aspx

1.boost::noncopyable

nonycopyable是一个可以通过继承来防止你自己的类拷贝构造或者拷贝赋值的类。有些复杂对象,并没有明确的拷贝构造/拷贝赋值函数,当你使用隐性的拷贝构造/拷贝赋值时,可能会出现一些不必要的bug。

boost::noncopyable将构造和析构函数设置为protected,子类可以调用,使得子类调用默认构造函数时不至于编译不过。将拷贝构造/拷贝赋值函数设置为private,子类没有定义自己的拷贝构造/拷贝赋值函数时,是无法拷贝构造和等号赋值的。

一般都是私有继承的:

class my_class : private boost::noncopyable

PS:也有用public继承的,这个其实就是继承的特性了。而noncopyable主要是防止拷贝构造/赋值,所以private继承和public继承差别不是很大。stackoverflow上也是如是说。

// to be continued

转载请注明:C++爱好者博客 » boost相关小知识(长期顶置更新)

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

网友最新评论 (16)

  1. 支持
    爱奇趣分享网4年前 (2015-01-11)回复
  2. asio你可以关注下gce,我一个技术群里的朋友写的,你可以上github上搜搜看
    eliteYang5年前 (2014-12-09)回复
  3. 没学过C++,不晓得这个库。哈哈,了解一下,以后会用得到
    李阳博客5年前 (2014-12-08)回复
    • 这个库是标准库的备胎,很不错的
      eliteYang5年前 (2014-12-09)回复
  4. 路过 boost看上去高大上的赶脚
    淡忘~浅思5年前 (2014-10-09)回复
  5. 路过,学习下。boost太大,只能研究下用到的几个库。目前关注asio
    Jim_sh5年前 (2014-05-21)回复
  6. boost库太强大了,之前学c++的时候体验过。
    bystander5年前 (2014-05-07)回复
    • 但是boost现在有点冗余了,而且接口没有标准库好用,但是编译器对标准的实现又太慢了,主要用vs写代码,这样就得用boost了
      eliteYang5年前 (2014-05-08)回复
  7. boost里面上百个库,希望老兄能持续更新,至少把常用的都介绍下 😆
    网事如风5年前 (2014-04-27)回复
    • 慢慢写,最近项目太忙了,后面写
      eliteYang5年前 (2014-04-27)回复
  8. 编译boost是一件很纠结的事情
    peach54605年前 (2014-04-21)回复
    • 现在编译很简单啊,不用纠结的
      eliteYang5年前 (2014-04-21)回复
  9. 加速的?
    爱软儿6年前 (2013-12-13)回复
    • 哈哈……这是一个C++的库,号称第二标准库/候选标准库,理论超前于std库,新的C++标准中用了boost的内容
      eliteYang6年前 (2013-12-13)回复
  10. 又修改UI了啊 -- 感觉不怎么习惯啊
    Yu6年前 (2013-12-07)回复
    • 哈……用了大前端的D8主题,一直很喜欢这个主题,直到最近才找到这个主题的下载地址。感觉这个主题很不错的
      eliteYang6年前 (2013-12-07)回复