20121204
1.头文件不参与编译。
2.三个类A,B,C
A.cpp中包含B.h则A.h中可以定义B类变量,也可以定义B指针变量。
如果C.cpp中需要包含A.h则,编译不过,C.cpp需要两次包含B.h
如果A.h中定义的是B指针变量,则可以用pimple语法
3.A.cpp的包含次序为B.h然后是A.h
否则头文件中类变量编译不过。指针变量则不受次序限制。

20121202
我知道这种用法,但是不知道这属于什么语法,请教高手。
在源文件.cpp中包含(#include)一个类的头文件,在头文件中使用这个类。
只能在头文件中定义指针变量,并且要用一种特别的语法:
namespace oracle
{
 namespace occi
 {
  class CFor;
 }
}

// 使用者
// 头文件
#pragma once
namespace oracle
{
    namespace occi
    {
        class CFor;
    }
}
class CUse
{
public:
    CUse(void);
    ~CUse(void);
public:
    oracle::occi::CFor *m_pFor;
};
// 源文件
#include "Use.h"
#include "For.h"
CUse::CUse(void)
{
    m_pFor->test();
}
CUse::~CUse(void)
{
}

// 被使用者
// 头文件
#pragma once
namespace oracle
{
    namespace occi
    {
        class CFor
        {
        public:
            CFor(void);
            ~CFor(void);
        public:
            void test();
        };
    }
}
// 源文件
#include "For.h"
using namespace oracle::occi;
CFor::CFor(void)
{
}
CFor::~CFor(void)
{
}
void CFor::test()
{
}

url:http://greatverve.cnblogs.com/archive/2012/12/02/cpp-what.html

本文转自wenglabs博客园博客,原文链接:http://www.cnblogs.com/greatverve/archive/2012/12/02/cpp-what.html,如需转载请自行联系原作者

pimple idiom C++相关推荐

  1. Pimple - 一个简单的 PHP 依赖注入容器

    链接 官网 WebSite GitHub - Pimple 这是 Pimple 3.x 的文档.如果你正在使用 Pimple 1.x ,请查看 Pimple 1.x 文档. 阅读 Pimple 1.x ...

  2. Pimple相关的源码

    已经有了非常好的Pimple的相关解析,建议先看下: Pimple - 一个简单的 PHP 依赖注入容器 读 PHP - Pimple 源码笔记(上) 读 PHP - Pimple 源码笔记(下) 这 ...

  3. Item 6: Use the explicitly typed initializer idiom when auto deduces undesired types.

    Item 6: Use the explicitly typed initializer idiom when auto deduces undesired types. 这次是对 Effective ...

  4. 单例模式的两种实现方式对比:DCL (double check idiom)双重检查 和 lazy initialization holder class(静态内部类)...

    首先这两种方式都是延迟初始化机制,就是当要用到的时候再去初始化. 但是Effective Java书中说过:除非绝对必要,否则就不要这么做. 1. DCL (double checked lockin ...

  5. The RAII Programming Idiom

    https://www.hackcraft.net/raii/ https://en.wikipedia.org/wiki/Resource_Acquisition_Is_Initialization ...

  6. idiom的学习笔记(一)、三栏布局

    三栏布局左右固定,中间自适应是网页中常用到的,实现这种布局的方式有很多种,这里我主要写五种.他们分别是浮动.定位.表格.flexBox.网格. 在这里也感谢一些老师在网上发的免费教程,使我们学习起来更 ...

  7. 【C++深入探索】Copy-and-swap idiom详解和实现安全自我赋值

    任何管理某资源的类比如智能指针需要遵循一个规则(The Rule of Three): 如果你需要显式地声明一下三者中的一个:析构函数.拷贝构造函数或者是拷贝赋值操作符,那么你需要显式的声明所有这三者 ...

  8. 《Effective Modern C++》Item 6: Use the explicitly typed initializer idiom when auto deduces undesired

    引子 之前Item 5介绍了auto关键字的优点,当然在Item 2我们看到了auto的一些不足,比如由于auto也是在用模板类型做推导,所以某些情况下会丢掉CV修饰符.但这个缺点似乎没有那么有说服力 ...

  9. 关于Impl idiom

    个人理解 c++中头文件这种东西在项目大到一定规模以后,就是罪恶了. 随便更改头文件里面某个class的private成员/函数,都会导致依赖文件的rebuild,编译时间增长 Impl便是现在能够想 ...

  10. 【C++学习】Effective C++

    本文为Effective C++的学习笔记,第一遍学习有很多不理解的地方,后续需要复习. 0 导读 术语 声明(declaration) 告诉编译器某个东西的名称和类型,但略去细节: 每个函数的声明揭 ...

最新文章

  1. L2:grep使用正则表达式
  2. linux 内核驱动编程 简单例子 与_IO, _IOR, _IOW, _IOWR 宏解析
  3. 【解决方案】istio-ingressgateway HTTP probe failed with statuscode: 503
  4. SpringCloud Gateway的组成结构
  5. python线性规划教程_python 利用cvxopt线性规划
  6. vb 字符串长度_一起学VB——什么是过程
  7. jquery知识点总结二
  8. (转)SQL中WITH的用法
  9. 数据可视化工具的意义有哪些
  10. python获取音频音量大小_如何在python中规范化音频文件的音量:当前可用的任何包?...
  11. 闭合导线计算matlab代码,【求助】闭合导线简易平差Matlab代码需要大神帮忙
  12. eeupdate 更新MAC地址
  13. 计算机关闭窗口可以使用alt,电脑关闭窗口快捷键
  14. 干货:分析学中常用的3种分析方法!
  15. html中tr中加判断换行符,深入解析HTML的table表格标签与相关的换行问题
  16. 进程同步问题(Process Synchronization)
  17. 无纸化车间是怎样实现的,能给企业生产带来什么?
  18. 同一个实验室,硕士们进了大厂拿高薪,为什么博士却要挤破头进高校?
  19. 王者荣耀关注显示服务器忙,王者荣耀不满足参加该活动的条件 访问繁忙解决方法...
  20. 将fla文件的影片剪辑按钮等一些类文件和外部的as文件整合到swc中

热门文章

  1. java-net-php-python-13jspm珠宝销售网开题计算机毕业设计程序
  2. html转换高清pdf,html转换pdf
  3. 手把手教你搭建STM32MP1开发环境
  4. MySQL 操作数据库_复制表
  5. 最近在论证一个问题,到底是先有鸡还是先有蛋:
  6. 在 Linux 和 Windows 下给 Tomcat 分配大内存设置方法 - 偷得浮生半日闲 - 博客频道 - CSDN.NET...
  7. field automation,vif
  8. SpringMVC工作原理之四:MultipartResolver
  9. Ubuntu VirtualBox虚拟机安装win7 win10全过程
  10. 淘宝前端工程师:国内WEB前端开发十日谈