什么是SOLID原则 在面向对象的编程中,SOLID原则是一种使得软件设计更加容易理解、灵活和可维护的五大原则,主要由著名的软件大师Robert C.Martin (Bob 大叔)在Design Principles and Design Patterns 中提出来的, Michael Feathers 首先用SOLID来概括这五大原则。 应用范围:类、模块、函数 主要内容有: Single-responsibility principle, 单一责任原则 A class should only have a si…

2020年04月14日 0条评论 533点热度 1人点赞 阅读全文

题目 302 | 中等 https://leetcode-cn.com/problems/coin-change/ 题解 核心思想:动态规划 解析: 问题用数学的语言可以描述为 $$ \argmin_{\sum{x_i}}{\sum{x_i c_i} = S} $$ $x_i$ 是硬币的数目,而 $c_i$ 是面额, $S$ 是目标总金额。 设 F(S) 为组合为目标总金额的硬币数目;则有递推公式为 $$ F(S) = F(S - c_i) + 1 $$ 根据这个递推关系,问题被拆解为求$ F(S - c_i) +…

2020年03月09日 0条评论 526点热度 0人点赞 阅读全文

本来准备自己写的,但是OpenCV 的文档就很详细,并且提供了python 和C++的实现,优雅高效。珠玉在前,觉得没有重复造轮子的必要,把链接粘贴在下面: https://docs.opencv.org/3.4/d3/dc1/tutorial_basic_linear_transform.html 这个文档详细结合代码和图像详细介绍了校正图像亮度的方法,包括亮度对比度调整和伽马变换。 亮度对比度调整 g(x) = \alpha f(x) + \beta f(x) 是输入图像的像素值,对于多通道的图…

2020年02月06日 0条评论 565点热度 1人点赞 阅读全文

这篇给大家介绍什么是PImpl惯用法,以及使用std::unique_ptr 实现,并且实现了该的复制和赋值构造函数 pimpl 惯用法 在很多C++ 的API源码里,我们经常看到接口类通常指包含公有方法,而真正的实现类通常用一个不透明指针 (opaque pointer) 指向。 例如 // x.h class X{ public: void func(); private: class XImpl; Ximpl *impl_; }; // x.cpp class X::XImpl{ // ::: // impl…

2020年02月03日 0条评论 523点热度 0人点赞 阅读全文

我们知道如果不提供默认/copy/copy-assignment构造函数,编译器会为我们自动生成相应的构造函数,那么在C++编程实践中,什么时候需要提供构造函数,什么时候要利用编译器的自动生成功能呢?大佬们总结为三五法则还有零法则。 C++ 中一个类有以下6种特殊的成员函数需要关注: // https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md#note-99 class X { pub…

2020年02月01日 0条评论 562点热度 0人点赞 阅读全文

最近读《C++ API Design》,其中第二章《优质API的特征》可以在网上找到 原文链接。 觉得讲得非常实用,对于做程序库/API开发的程序员来说是个很好的总结,把相关要点做成了思维导图: 以下是对一些要点的总结归纳: 问题域建模 API 应该首先为问题提供一个清晰的解决方案,同时能对实际的问题域进行准确的建模。 提供良好的抽象, API对它所解决的问题需要提供良好的逻辑抽象,** 对问题进行抽象,而不是公开底层实现细节** 在面向对象中,需要对问题域中的关键对象建模:面向对象设计,对对象的层次结构设计。 隐…

2020年01月27日 0条评论 582点热度 0人点赞 阅读全文

经过一番折腾,最终还是回到了WordPress 的怀抱。得到一个教训,当你想写博客的时候,先开始写,而不是各种折腾自己建站之类的,这样很容易把热情给消磨没了。想建立一个自己的网站想了有大半年了,期间发过 cnblogs, 折腾过 hexo, 甚至连想域名都想了很久,最终还是决定用自己的英文名作为自己域名,然后发现Godday 上买主机送域名,于是乎,连带着 wordpress 一阵套给安排上了。希望能在互联网的世界里留下自己的痕迹。坚持写下去吧,stay hungry, stay foolish.

2020年01月15日 0条评论 554点热度 1人点赞 阅读全文