自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 c和cpp三元运算符比较

c—结果为左值#include <stdio.h>int main(){ int a = 5; int b = 6; printf("before, a = %d, b = %d \n", a, b); a > b ? a : b; // (a > b ? a : b) = 10; // error: lvalue required as left operand of assignment printf("after, a =

2021-04-18 12:50:56 457

原创 c和cpp的const对比

先说结论:c语言的const不够const。cpp—够const#include <iostream>int main(){ const int a = 5; const int* pi = &a; std::cout << "a is: " << a << std::endl; std::cout << "pi is " << pi << std::endl; //

2021-04-09 21:40:09 95

原创 尽量不要用友元控制类成员的访问权限

由访问权限想到友元声明coding过程中遇到复杂框架下的类之间相互调用的情况,此时必定绕不开类成员的访问权限问题,典型的是一些自己写的继承自体系结构中已经有的类访问其他类的私有成员或者受保护成员的问题。此时,应阅读父类代码,理解父类对相似问题的处理方式。以下为经验之谈:核查原有父类对其他类成员的访问方式,尤其应注意是否有友元声明。若有友元声明,最好将自定义的子类也也声明相关友元关系,以防出错。重点理解:某类的友元类只归该类所有,友元关系不能传递,不能继承。所以,尽量不要用友元控制类成员的访问权

2021-04-09 21:18:50 106

原创 组合模式-设计模式coding

组合模式Composite适用于:单个对象和组合对象的使用具有一致性,将对象组合成树形结构以表示部分–整体。通过递归手段来构造树形的对象结构,并可通过一个对象来访问整个对象树用树形结构模拟文件夹与文件的逻辑关系#include <iostream>#include "string"#include "list"using namespace std;class AbFile{public: virtual void display() = 0; virtua

2021-04-05 21:03:21 65

原创 建造者模式-设计模式coding

适用于:复杂对象的构造,将对象的构建和对象的表示进行分离,解耦合对象的表示:产品类Product对象的构建:建造者Builder客户端:设计师Director核心思路:House、Builder、Director对象的类的抽象#include <iostream>#include "string"using namespace std;class House{public: void setDoor(string door) { ..

2021-04-05 21:02:21 70

原创 工厂模式-设计模式coding

简单工厂模式最简单,高内聚性不好不属于23种设计模式中的设计模式#include <iostream>using namespace std;class Fruit{public: virtual void getFruit() = 0;};class Banana: public Fruit{public: virtual void getFruit() { cout << "banana" << en

2020-09-13 22:20:34 42

原创 单例模式-设计模式coding

敲一敲单例模式代码单例模式分位懒汉式和饿汉式。懒汉式:使用get实例方法时,创建对象,遇上多线程问题,线程同步,加锁解锁饿汉式:在全局空间创建对象懒汉式单例模式全局空间创建的类型为nullptr,调用getInstancan方法时先判断对象是否存在,若不存在,实例化class Singleton{public: static Singleton* getInstance() { if (m_psl == nullptr) { m_psl = new Singleton;

2020-09-13 21:32:04 62

原创 观察者模式-设计模式coding

观察者模式理解-设计模式coding练习OO设计主要是类的设计,所谓设计模式就是不同类成员间的关联形式该示例观察者模式实现两个类Overlooker 观察者类,拥有需要接收消息的对象指针列表(或其他容器);player 玩家类,拥有观察者指针。C++代码如下:#include <iostream>#include <string>#include <list>using namespace std;/*定义对象间一对多的依赖关系,使得每

2020-09-12 21:53:03 86 1

原创 Doxygen生成图例含义解释

Graph Legend——Doxygen图例说明 开源项目中常见Doxygen生成的类图,这些类图可助快速了解项目设计思路 翻译Doxygen生成图例的含义翻译网页: https://vtk.org/doc/release/6.3/html/graph_legend.html页面解释并说明了Doxgen生成的图像的含义 1 /*! Invisible class because of truncation */ 2 class Invisible { }; 3

2020-09-12 21:49:32 565

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除