`
grantren
  • 浏览: 77343 次
  • 来自: ...
文章分类
社区版块
存档分类
最新评论

boost笔记2

 
阅读更多

看到boost中noncopyable,基本思想很简单,无非把拷贝构造和赋值运算符声明为private并且不加以实现。
比较特殊的是noncopyable的实现中定义了noncopyable_名字空间,然后再将noncopyable使用typedef定义。

 

#ifndef BOOST_NONCOPYABLE_HPP_INCLUDED
#define BOOST_NONCOPYABLE_HPP_INCLUDED

namespace boost {

//  Private copy constructor and copy assignment ensure classes derived from
//  class noncopyable cannot be copied.

//  Contributed by Dave Abrahams

namespace noncopyable_  // protection from unintended ADL
{
  class noncopyable
  {
   protected:
      noncopyable() {}
      ~noncopyable() {}
   private:  // emphasize the following members are private
      noncopyable( const noncopyable& );
      const noncopyable& operator=( const noncopyable& );
  };
}

typedef noncopyable_::noncopyable noncopyable;

} // namespace boost

 

ADL是Argument Dependent Lookup的缩写,其实就是Koenig Lookup。
namespace noncopyable_ {
//..................
}

typedef noncopyable_::noncopyable noncopyable,
这样写是把noncopyable的具体实现定一个一个单独的名字空间内,
起到了和boost名字空间隔离的作用。

1
1
分享到:
评论

相关推荐

    Boost 模板元编程学习笔记(二)

    在【标题】和【描述】中提到的“Boost模板元编程学习笔记(二)”主要围绕两个主题展开:数值计算和类型计算。 1. 数值计算 在提供的代码示例中,`binary`模板展示了如何使用模板元编程实现将十进制数转换为二进制...

    Node.js-Boostnote是一款采用ElectronJs开发的开源笔记应用

    2. **Markdown支持**:Boostnote完全支持Markdown语言,让用户能够快速编写结构化的文本,同时保持简洁的代码和可读性。Markdown语法包括标题、列表、代码块、链接、图像等,非常适合编写技术文档。 3. **实时预览*...

    Boost学习笔记

    Boost 是一个广泛使用的 C++ 库,由 C++ 标准库的开发者参与编写,旨在增强 C++ 的功能和实用性。Boost 提供了一系列跨平台的工具和库,适用于 Linux 和 Windows 系统。学习 Boost 对于提升 C++ 开发者的技能和效率...

    AWR1443boost用户指南笔记1

    AWR1443boost 用户指南笔记 1 AWR1443boost 是一款用于评估 AWR1443 单芯片毫米波传感器的评估板。该板载天线、基于 XDS110 的 JTAG、用于 FFT 和 CFAR 的硬件加速器等特性,旨在帮助开发者快速开始开发毫米波雷达...

    BOOST入门笔记

    **BOOST入门笔记** Boost库是C++编程语言的一个开源库,它提供了许多高效、高质量的工具,以增强C++的功能性和可移植性。Boost库包含了众多模块,如nocopyable、singleton、asio、filesystem、bind、thread和future...

    开关电源BUCK BOOST参考笔记

    ### 开关电源BUCK BOOST参考笔记 #### 一、引言 在电子设备的设计与制造过程中,开关电源作为能量转换的核心部件,对于整个系统的稳定性和效率具有决定性的影响。其中,BUCK(降压)和BOOST(升压)两种基本类型的...

    基于UC3842的boost电路的设计及仿真和应用笔记

    **基于UC3842的Boost电路设计及仿真与应用** Boost电路,也称为升压电路,是一种常见的直流-直流转换器,它能够将输入电压提升到更高的输出电压。这种电路在许多应用中都有所使用,例如在太阳能电池板、低电压电源...

    《Boost学习笔记》.pdf

    《Boost学习笔记》.pdf

    Boostnote-mac.zip boostnote: 0.15.2 笔记应用程序。

    面向开发人员的直观,时尚的笔记应用程序。 离线写入 即使您处于离线状态,也可以在笔记本电脑上书写/编辑笔记。 多个设备 Boostnote可用于浏览器,台式机和移动设备。 语法重点 Boostnote可以突出显示100多种...

    boostnote.zip

    BoostNote是一款广受欢迎的开源笔记应用,特别适合程序员和IT专业人士使用。它提供了丰富的功能,让用户可以方便地组织、管理和共享技术笔记。在Mac OS环境下,BoostNote为用户提供了高效且直观的界面,使得记录、...

    CRM模式BOOST拓扑结构实现PFC的学习笔记

    **2. CRM模式的控制原理** CRM模式是一种电流控制模式,它结合了Boost升压拓扑结构。在CRM模式下,控制器通过以下三个关键信息进行操作: - 误差放大器的反馈信息:代表需要提供的能量大小。 - AC线路的电压信息:...

    升压斩波boost电路笔记整理

    ### 升压斩波Boost电路知识点整理 #### 一、占空比与电感选择的重要性 在升压斩波(Boost)电路设计中,占空比(Duty Cycle)是关键参数之一,它反映了开关导通时间与整个周期时间的比例。在Boost电路中,占空比仅...

    Intel(R) Turbo boost technology Driver

    2. 检查兼容性:确保系统满足硬件和软件的要求,例如操作系统版本、CPU支持等。 3. 解压:解压缩下载的文件,通常会得到一个.exe安装程序。 4. 安装:运行安装程序,按照提示完成安装过程,可能需要重启电脑以使更改...

    boost.zip_BOOST CONVERTER_Boost

    2. **电动汽车**:电动车的电池管理系统中,Boost转换器可以将电池组的电压提升,满足驱动电机所需的高电压。 3. **便携式设备**:在手机、笔记本电脑等设备中,Boost转换器用于将电池的低电压转换为各个组件所需的...

    BUCK电路与BOOST电路

    ### BUCK电路与BOOST电路详解 #### 一、引言 在现代电子设备中,电源管理扮演着至关重要的角色。为了确保设备能够稳定可靠地工作,必须采用合适的电源转换技术来适应不同的电压需求。其中,BUCK电路和BOOST电路是...

    buck-boost原理(全)

    其中,Buck、Boost以及Buck-Boost转换器是最常见且基础的电源转换电路类型。这些转换器不仅在工业应用中广泛存在,也深刻影响着日常生活中使用的电子产品,如手机充电器、笔记本电脑适配器等。 ### Buck转换器...

    Boost_buck.zip_buck_buck boost _buck-boost_buck_boost_converter

    【标题】"Boost_buck.zip_buck_buck boost _buck-boost_buck_boost_converter" 涵盖了关于电力电子转换器中的两种主要类型:降压(Buck)转换器和升压-降压(Buck-Boost)转换器。这两种转换器在电源管理和电路设计...

    BOOST程序库完全开发指南:深入C++“准”标准库(第3版).罗剑锋(带详细书签)

    Boost是一个功能强大、构造精巧、跨平台、开源并且完全免费的C++程序库,有着“C++‘准’标准库”的美誉。 Boost由C++标准委员会部分成员所设立的Boost社区开发并维护,使用了许多现代C++编程技术,内容涵盖字符串...

    Boostnote0-11-17.zip

    Boostnote是一款专为开发者和创作者设计的开源笔记应用,它支持Markdown语法,旨在提供一个高效、易用且功能丰富的笔记工具。在这款软件中,你可以方便地编辑、组织和分享你的代码片段、想法以及项目文档。Boostnote...

Global site tag (gtag.js) - Google Analytics