上一页 1 2 3 4 5 6 7 8 9 10 ··· 18 下一页
摘要: 1.“组件协作”模式 现代软件专业的分工后的第一个结果就是“框架与应用程序的划分”,“组件协作”模式通过晚期绑定,来实现框架与应用程序之间的松耦合。 典型模式 Template Method 模板方法 Strategy 策略模式 Observer / Event 观察者模式 2.“单一职责”模式 在 阅读全文
posted @ 2020-11-09 14:52 cyssmile 阅读(44) 评论(0) 推荐(0) 编辑
摘要: 观察者模式 这种模式大家可能叫它“observer/event模式” 或者"发布订阅模式"。 这种模式应用场景非常丰富,比如在项目中程序运行的性能监控,消息监控,日志信息处理,查看程序处理的进度。 在项目中运行一个程序时,通常有这样操作addWatcher(), removeWatcher(Base 阅读全文
posted @ 2020-11-09 12:02 cyssmile 阅读(81) 评论(0) 推荐(0) 编辑
摘要: strategy model 在项目开发过程中,经常有许多if-else if等结构。比如所这样一段代码 enum class Carrier { OPENCV = 0, LIBYUV, FFMPEG }; if (handler == Carrier::OPENCV) { return OpenC 阅读全文
posted @ 2020-11-09 11:01 cyssmile 阅读(107) 评论(0) 推荐(0) 编辑
摘要: 模板方法 template method的方法主要是将实际传统结开发过程的“早绑定“变成面向对象中的“晚绑定”。 比如一个软件栈开发工程中有这两个角色,一个是库功能开发者,一个是解决方案的应用级的程序员。 现在来了一个需求:做一个人脸识别的场景。 那么对于做解决方案的程序员他会先去查看 库程序员提供 阅读全文
posted @ 2020-11-08 20:56 cyssmile 阅读(136) 评论(0) 推荐(0) 编辑
摘要: 引子 思考以下几个小问题: 1.在保存一系列对象的时候,是保存对象,还是保存对象的指针呢? 2.假设在一个函数,能不能直接使用外部自己实现的函数? 3.假设要保存的数据对象是不同的,如何放在一起? 4.可不可以通过配置一些文档之类的来写一个程序? 还有许多类似的问题。当然生活中经常听到的反射机制,回 阅读全文
posted @ 2020-11-06 18:07 cyssmile 阅读(155) 评论(0) 推荐(0) 编辑
摘要: static关键字常用功能 1.局部静态变量 这个很简单的说就是某个作用内部的变量加上static,比如函数内部的一个static变量。 特点:局部作用域,全局生命周期。不可重入。 用处:记录下某些函数调用的次数之类的。 这样的用法最好是不要使用,因为不可重入性,容易在多线程程序中出错。 2.外部静 阅读全文
posted @ 2020-11-03 10:34 cyssmile 阅读(110) 评论(0) 推荐(0) 编辑
摘要: 今天写代码时遇到double free or corruption (!prev)这个错误。 自己写代码,怎么会double free呢,调试了好久都没结果,怎么可能出这样的错误。 吃完饭回来,才发现。 在处理图像数据时使用了memcpy函数, 处理前申请memory是以width申请的,进行mem 阅读全文
posted @ 2020-10-29 19:46 cyssmile 阅读(2783) 评论(0) 推荐(0) 编辑
摘要: 原文转载处 从语法上来说,构造函数和析构函数都可以抛出异常。但从逻辑上和风险控制上,构造函数和析构函数中尽量不要抛出异常,万不得已,一定要注意防止资源泄露。在析构函数中抛出异常还要注意栈展开带来的程序崩溃。 1.构造函数中抛出异常 在C++构造函数中,既需要分配内存,又需要抛出异常时要特别注意防止内 阅读全文
posted @ 2020-10-19 20:12 cyssmile 阅读(1118) 评论(0) 推荐(1) 编辑
摘要: header #include <cstdarg> // or #include <stdarg.h> 这个头文件定义了一些宏来处理那些参数数量和数据类型不明确的函数调用的情况。 通过在其常规命名参数后包含逗号和三个点(,…),函数可以接受不同数量的附加参数,而无需相应的参数声明: 就像下面的形式 阅读全文
posted @ 2020-10-15 11:56 cyssmile 阅读(414) 评论(0) 推荐(0) 编辑
摘要: 0. 注意python cuda tensorflow的对应表 python_cuda_tensorflow版本对应表 1.运行Anaconda3-2019.07-Linux-x86_64.sh 有需要输入yes/no的地方输入yes 设置安装路径 2 修改~/.bashrc 在末尾加上 expor 阅读全文
posted @ 2020-10-14 16:24 cyssmile 阅读(179) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 10 ··· 18 下一页