随笔分类 -  C/C++

摘要:一、string string 是 C++ 提供的字符串类型,和 C 的字串相比,除了有不限长度的优点外,还有其他许多方便的功能。要使用 string, 必须先加入这一行: 接下來要定义一个字串变量,可以写成:string s; 我们也可以在定义的同时初始化字串:string s = "you";而 阅读全文

posted @ 2018-10-18 22:55 yacbo 阅读(459) 评论(0) 推荐(0) |

摘要:#ifndef CAR_H #define CAR_H #include "engine.h" #include <iostream> #include <stdio.h> #include <string> #include <functional> using namespace std; cl 阅读全文

posted @ 2018-10-17 18:24 yacbo 阅读(151) 评论(0) 推荐(0) |

摘要:继承:is-a 比如 营销人员类 和 开发人员类 都继承自 职工类,营销人员 is-a 职工。组合:has-a 比如 汽车类 包含一个 发动机类 的对象,汽车 has-a 发动机。 阅读全文

posted @ 2018-10-17 10:42 yacbo 阅读(167) 评论(0) 推荐(0) |

摘要:C风格的强制类型转换,不管什么类型的转换统统是: TYPE b = (TYPE)a; C++风格的类型转换提供了4种类型转换操作符来应对不同场合的应用。 static_cast 静态类型转换,如int转换char reinterpreter_cast 重新解释类型 dynamic_cast 命名上理 阅读全文

posted @ 2018-10-15 18:56 yacbo 阅读(157) 评论(0) 推荐(0) |

摘要:桥接模式是将抽象部分(abstraction)与实现(implementation)部分分离(解耦合),使他们可以独立的变化。 车安装发动机:不同型号的车,安装不同型号的发动机。 将"车安装发动机"这个抽象和实现进行分离,两个名字就设计两个类。 阅读全文

posted @ 2018-10-11 20:01 yacbo 阅读(147) 评论(0) 推荐(0) |

摘要:装饰者模式(Decorator Pattern)动态的给一个对象添加一些额外的职责。就增加功能来说,此模式比生成子类更为灵活。 阅读全文

posted @ 2018-10-11 19:38 yacbo 阅读(103) 评论(0) 推荐(0) |

摘要:适用于: 将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 阅读全文

posted @ 2018-10-10 14:55 yacbo 阅读(111) 评论(0) 推荐(0) |

摘要:subject (抽象主题角色):真实主题与代理主题的共同接口 RealSubject(真实主题角色):定义了代理角色所代表的真实对象 Proxy(代理主题角色):含有对真实主题角色的引用,代理角色通常在将客户端调用传递给真实主题对象之前或者之后执行某些操作,而不是单纯返回真实的对象。 提示:a中包 阅读全文

posted @ 2018-10-09 14:35 yacbo 阅读(811) 评论(0) 推荐(0) |

摘要:抽象工厂模式是所有形态的工厂模式中最为抽象和最其一般性的。 抽象工厂模式可以向客户端提供一个接口,使其客户端在不必指定产品的具体类型情况下,能够创建多个产品族的产品对象。 工厂方法模式针对的是一个产品等级结构,而抽象工厂模式针对的是多个产品等级结构(产品族)。 //抽象工厂 和 一般工厂模式相比较的 阅读全文

posted @ 2018-10-09 11:12 yacbo 阅读(142) 评论(0) 推荐(0) |

摘要:一个工厂生产一种产品 //抽象水果类Fruit //抽象的工厂类FruitFactory //具体的工厂类 BananaFactory PearFactory //具体的水果 //Banana Pear class Fruit { public: virtual void sayName() { s 阅读全文

posted @ 2018-10-08 20:04 yacbo 阅读(216) 评论(0) 推荐(0) |

摘要:工厂类集中了所有实例的创建逻辑,所以"高内聚"方面做的并不好,当系统的具体产品不断增多时,可能会出现要求工厂类也要做相应的修改,扩展性并不是很好。有继承、虚函数重写、父类指针指向子类对象会发生多态。 class Fruit { public: virtual void get_fruit() { s 阅读全文

posted @ 2018-10-08 19:23 yacbo 阅读(199) 评论(0) 推荐(0) |

摘要:1.构造函数 构造函数是为了初始化类中的数据成员。对于派生类而言,不会继承基类的构造函数,为完成派生类数据成员的初始化,需要在派生类中自己定义构造函数。 派生类的构造函数要负责调用基类的构造函数。若程序中不显示定义构造函数,则创建派生类对象时会调用编译器提供的默认构造函数。 总之:基类构造先调用,然 阅读全文

posted @ 2018-09-14 14:00 yacbo 阅读(810) 评论(0) 推荐(0) |

摘要:1、全局变量和静态变量初始化时会自动被设置为0。如果们声明全局变量,那么他在运行前会变成全0。 2、对于局部数组我们还有简写的初始化语法。如果一个数组被部分初始化,没有被初始化的元素会被自动设置为相应类型的0。这是编译器自动完成的。可以这样写: 3、你还可以用memset函数在程序开始时初始化数组。 阅读全文

posted @ 2018-09-12 11:21 yacbo 阅读(10325) 评论(0) 推荐(0) |

摘要: 阅读全文

posted @ 2018-09-06 09:52 yacbo 阅读(709) 评论(0) 推荐(0) |

摘要:认识1:实现对象间的通信,a对象发射信号后调用b对象的槽函数。 场景1:对象a、对象b在主线程中,且signal也在主线程中emit ,则为同步的。 场景2:对象a在子线程,对象b在主线程,a在子线程中emit,则为异步的。 场景3:对象a、b均在主线程,a在线程中emit,则为异步的。 发送信号: 阅读全文

posted @ 2018-08-16 16:07 yacbo 阅读(459) 评论(0) 推荐(0) |

摘要:直接在.h中定义了宏PA,返回类A的单例对象指针。把宏定义到.h文件中可以供别的程序调用。 阅读全文

posted @ 2018-08-16 14:24 yacbo 阅读(166) 评论(0) 推荐(0) |

摘要:1.静态全局变量 特点:作用域在声明此变量的文件中,其他文件即使使用extern关键字修饰其声明也不可使用 2.静态局部变量 特点:内存存放在 程序的全局数据区中;只会被初始化一次,其后运行到该对象的声明是不会再初始化;不能被其作用域之外的其他模块调用,其调用范围仅限于声明该变量的函数作用域当中。 阅读全文

posted @ 2018-07-26 11:06 yacbo 阅读(168) 评论(0) 推荐(0) |

摘要:二进制的文件读写 rb与 rb+ rb:为输入打开一个二进制文件; rb+ 指为读写打开一个二进制文件; rb为只读,对于不需要进行更新的文件,可以防止用户的错误的写回操作,防止损毁原有数据。具有较高的安全性~~~ rb+为更新二进制文件,可以读取,同时也可以写入,需要用到fseek之类的函数进行配 阅读全文

posted @ 2018-07-18 11:04 yacbo 阅读(1866) 评论(0) 推荐(0) |

摘要:c++中添加一个头文件 include “engine.h”后可以使用matlab引擎提供的一些常用函数。 engOpen() 、engClose() engSetVisible() engGetVariable() engPutVariable() engEvalString() Engine * 阅读全文

posted @ 2018-07-12 19:52 yacbo 阅读(245) 评论(0) 推荐(0) |

摘要:1.ffmpeg的DEV版本为开发版,里面包含了库文件和头文件。shared版本里面包含*.exe,在电脑环境变量中增加其bin所在路径。 F:\工作目录\人脸识别相关\ffmpeg_package\ffmpeg-3.4.2-win32-shared\ffmpeg-3.4.2-win32-share 阅读全文

posted @ 2018-05-18 09:41 yacbo 阅读(1137) 评论(0) 推荐(0) |

博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3