秋季C++设计模式理论与实战大全心得分享

秋季C++设计模式理论与实战大全心得分享,第1张

实现

和其他很多模式一样,学习设计模式的重点是学习每种模式的思想,而不应拘泥于它的某种具体结构图和实现。因为模式是灵活的,其实现可以是千变万化的,只是所谓万变不离其宗。在STL中大量运用了Adapter模式,象function adapter、iterator adpter,它们与这里说的adapter结构并不一样,但思想是一样的。

1、示例代码

(1)class adapter

namespace DesignPattern_Adapter
{
// class Adaptee
class Adaptee
{
public:
void SpecialRequest() {}
} ;

// class Target
class Target
{
public:
virtual void Request() = 0 ;
} ;

// class Adapter
class Adapter : public Target, private Adaptee
{
public:
virtual void Request() { SpecialRequest() ; }
} ;
}

客户端代码:
{
using namespace DesignPattern_Adapter ;
Target *p = new Adapter() ;
p->Request() ; //实际上调用的是Adaptee::SpecialRequest()

就比如

类的成员函数

在类中说明函数原型;

可以在类外给出函数体,形成内联成员函数;

也可以直接在类中给出函数体,形成内联成员函数;

允许声明重载函数和带默认参数值的函数。

内联成员函数

为了提高运行时的效率,对于较简单的函数可以声明为内联形式。

内联函数体中不要有复杂结构(如循环语句和switch语句)。

在类中声明内联成员函数的方式:

#将函数体放在类的声明中。

#使用inline关键字。


nonpointer

0,代表普通的指针,存储着Class、Meta-Class对象的内存地址
1,代表优化过,使用位域存储更多的信息

has_assoc

是否有设置过关联对象,如果没有,释放时会更快

has_cxx_dtor

是否有C++的析构函数(.cxx_destruct),如果没有,释放时会更快 

总之就是这样进行一段 *** 作方式希望可以帮助到你们!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/3002420.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-09-27
下一篇 2022-09-27

发表评论

登录后才能评论

评论列表(0条)

保存