pimple idiom C++
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++相关推荐
- Pimple - 一个简单的 PHP 依赖注入容器
链接 官网 WebSite GitHub - Pimple 这是 Pimple 3.x 的文档.如果你正在使用 Pimple 1.x ,请查看 Pimple 1.x 文档. 阅读 Pimple 1.x ...
- Pimple相关的源码
已经有了非常好的Pimple的相关解析,建议先看下: Pimple - 一个简单的 PHP 依赖注入容器 读 PHP - Pimple 源码笔记(上) 读 PHP - Pimple 源码笔记(下) 这 ...
- 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 ...
- 单例模式的两种实现方式对比:DCL (double check idiom)双重检查 和 lazy initialization holder class(静态内部类)...
首先这两种方式都是延迟初始化机制,就是当要用到的时候再去初始化. 但是Effective Java书中说过:除非绝对必要,否则就不要这么做. 1. DCL (double checked lockin ...
- The RAII Programming Idiom
https://www.hackcraft.net/raii/ https://en.wikipedia.org/wiki/Resource_Acquisition_Is_Initialization ...
- idiom的学习笔记(一)、三栏布局
三栏布局左右固定,中间自适应是网页中常用到的,实现这种布局的方式有很多种,这里我主要写五种.他们分别是浮动.定位.表格.flexBox.网格. 在这里也感谢一些老师在网上发的免费教程,使我们学习起来更 ...
- 【C++深入探索】Copy-and-swap idiom详解和实现安全自我赋值
任何管理某资源的类比如智能指针需要遵循一个规则(The Rule of Three): 如果你需要显式地声明一下三者中的一个:析构函数.拷贝构造函数或者是拷贝赋值操作符,那么你需要显式的声明所有这三者 ...
- 《Effective Modern C++》Item 6: Use the explicitly typed initializer idiom when auto deduces undesired
引子 之前Item 5介绍了auto关键字的优点,当然在Item 2我们看到了auto的一些不足,比如由于auto也是在用模板类型做推导,所以某些情况下会丢掉CV修饰符.但这个缺点似乎没有那么有说服力 ...
- 关于Impl idiom
个人理解 c++中头文件这种东西在项目大到一定规模以后,就是罪恶了. 随便更改头文件里面某个class的private成员/函数,都会导致依赖文件的rebuild,编译时间增长 Impl便是现在能够想 ...
- 【C++学习】Effective C++
本文为Effective C++的学习笔记,第一遍学习有很多不理解的地方,后续需要复习. 0 导读 术语 声明(declaration) 告诉编译器某个东西的名称和类型,但略去细节: 每个函数的声明揭 ...
最新文章
- L2:grep使用正则表达式
- linux 内核驱动编程 简单例子 与_IO, _IOR, _IOW, _IOWR 宏解析
- 【解决方案】istio-ingressgateway HTTP probe failed with statuscode: 503
- SpringCloud Gateway的组成结构
- python线性规划教程_python 利用cvxopt线性规划
- vb 字符串长度_一起学VB——什么是过程
- jquery知识点总结二
- (转)SQL中WITH的用法
- 数据可视化工具的意义有哪些
- python获取音频音量大小_如何在python中规范化音频文件的音量:当前可用的任何包?...
- 闭合导线计算matlab代码,【求助】闭合导线简易平差Matlab代码需要大神帮忙
- eeupdate 更新MAC地址
- 计算机关闭窗口可以使用alt,电脑关闭窗口快捷键
- 干货:分析学中常用的3种分析方法!
- html中tr中加判断换行符,深入解析HTML的table表格标签与相关的换行问题
- 进程同步问题(Process Synchronization)
- 无纸化车间是怎样实现的,能给企业生产带来什么?
- 同一个实验室,硕士们进了大厂拿高薪,为什么博士却要挤破头进高校?
- 王者荣耀关注显示服务器忙,王者荣耀不满足参加该活动的条件 访问繁忙解决方法...
- 将fla文件的影片剪辑按钮等一些类文件和外部的as文件整合到swc中
热门文章
- java-net-php-python-13jspm珠宝销售网开题计算机毕业设计程序
- html转换高清pdf,html转换pdf
- 手把手教你搭建STM32MP1开发环境
- MySQL 操作数据库_复制表
- 最近在论证一个问题,到底是先有鸡还是先有蛋:
- 在 Linux 和 Windows 下给 Tomcat 分配大内存设置方法 - 偷得浮生半日闲 - 博客频道 - CSDN.NET...
- field automation,vif
- SpringMVC工作原理之四:MultipartResolver
- Ubuntu VirtualBox虚拟机安装win7 win10全过程
- 淘宝前端工程师:国内WEB前端开发十日谈