自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 深入了解构造函数

struct Sales_data{ friend Sales_data add(const Sales_data&, const Sales_data&); friend std::istream &read(std::istream&, Sales_data&); friend std::ostream &print(std::ostream&, const Sales_data&);

2017-12-13 17:08:25 268

转载 Linux中write()函数的行为

应用缓冲技术能很明显的提高系统效率。内核与外围设备的数据交换,内核与用户空间的数据交换都是比较费时的,使用缓冲区就是为了优化这些费时的操作。其实核心到用户空间的操作本身是不buffer的,是由I/O库用buffer来优化了这个操作。比如read本来从内核读取数据时是比较费时的,所以一次取出一块,以避免多次陷入内核。      内核缓冲区的 主要思想就是一次读入大量的数据放在缓冲区,需要的时候从缓冲...

2018-07-16 09:35:15 8136 1

转载 【转】TCP的11种状态

TCP头部:六个标志位中,我们要用到三个: SYN:SYN= 1 表示这是一个连接请求或连接接受报文。在建立连接时用来进行同步序号(个人理解是,在建立连接的时候,提醒对方记录本方的起始序号)。当SYN=1而ACK=0时,表明这是一个连接请求报文段。对方若是同意建立连接,则应响应的报文段中使SYN=1、ACK=1。因此SYN=1表示该报文是一个连接请求报文或者是一个连接请求接收报文。ACK:确认号只...

2018-06-26 10:31:10 379

原创 vi的常用命令(持续更新中......)

最近在使用vim,感觉很好很强大,但是在使用复制剪切粘贴命令是,碰到了一些小困惑,网上找了一些资料感觉很不全,讲的也不好,遂自己进行实践并总结了。一、剪切(删除):剪切其实也就顺带删除了所选择的内容,所以既可以当剪切命令用,也可以当删除命令使用。 1 首先,可以在命令模式下输入v进入自由选取模式,选择需要剪切的文字后,按下d就可以进行剪切了。 2 其他命令模式下剪切命令: 3 dd:剪切当前行...

2018-06-20 16:01:52 314

原创 如何实现linux访问Windows的共享文件

1、使用mount.cifs需要cifs-utils软件包。  首先安装这个包:$ sudo apt install cifs-utils2、在Windows下设置共享文件note:组或用户名中,默认是Everyone,即每一个人都可以共享。。。如果你指向给指定的人共享,可以删除Everyone,然后选择添加,添加你想共享的账户的用户名 。然后一路点击确定。设置完成后,可以输入下面的命令进行查看设...

2018-05-21 17:40:45 22967 1

原创 简单工厂和工厂方法模式

背景:王帅开了一家肉夹馍店;目的:最近推出了3款肉夹馍,王帅希望使用简单工厂模式实现3!!!工厂类的类图首先是简单工厂模式一、产品类RouJM.H(抽象产品类): RoujmShow.H(具体产品类): RoujmMaking.cpp(具体产品类实现):二、工厂类 RoujmFactory.H(工厂类):三、客户调用简单工厂模式的优缺点:(1)、缺点1、工厂类的耦合性较强;       集中了所有...

2018-05-14 09:44:44 327

转载 详解宏定义(#define)

原文见:https://blog.csdn.net/yanggangclcsdn/article/details/49704089C语言中用到宏定义的地方很多,如在头文件中为了防止头文件被重复包含,则用到:#ifndef cTest_Header_h#define cTest_Header_h//头文件内容#endif1234在我们常用的 stdio.h 头文件中也可以见到很多宏定义,如:#...

2018-05-08 15:19:32 1036

转载 delete和析构函数间的关系及细节

delete和析构函数间的关系及细节 原文见:http://blog.sina.com.cn/s/blog_78c5ff950102vjoe.html个人心得:先看以下代码#include#includeusing namespace std;  class shape { public: char x;    shape(char m)     {       x=m;     cout &lt...

2018-05-07 22:35:44 15676 3

原创 关于“operator=”

一、中心思想1、令赋值操作符返回一个*this的引用;2、确保“自我赋值”时,operator=有良好行为(特别是异常安全)。。包括比较“来源对象”和“目标对象”的地址、精心周到的语句顺序、以及copy-and-swap;3、拷贝函数(拷贝构造函数和拷贝操作符)应该确保复制“对象内的所有成员变量”以及“所有基类成分”;4、不要师徒用某个拷贝函数实现另外一个拷贝函数。。。。应该将共同机能的代码放进第...

2018-05-06 15:21:58 2750

原创 绝不在构造和析构过程中调用虚函数

一、中心内容因为类调用从不下降至派生类,导致若为纯虚函数,则找不到函数的实现代码;若为非虚函数,则可能会导致调用错误的函数版本。。。二、内容简介考虑这样一系列继承:class Transaction{public:    Transaction();    virtual void logTransaction() const = 0;//每创建一个交易对象,在审计日志中需要创建一笔适当记录,由此...

2018-05-04 16:43:31 285

原创 为多态基类声明virtual析构函数

一、中心内容1、polymorphic(带多态性质的)base classes应该声明一个virtual析构函数。如果class带有任何virtual函数,它就应该拥有一个virtual析构函数;2、Classes的设计目的如果不是作为base Classes使用,或不是为了具备多态性,就不该声明virtual析构函数。二、内容简介1、资源泄漏class TimeKeeper{public:   ...

2018-05-02 10:17:39 448

原创 若不想使用编译器自动生成的函数,就该明确拒绝

一、中心思想为驳回编译器自动提供的技能,可将相应的成员函数声明为private并且不予实现或者使用base class的做法二、主要内容1、将相应的成员函数声明为private将copy构造函数或赋值符函数声明为private成员,使得用户不能对其进行成功调用e.gclass HomeForSale{public:......private:......HomeForSale(const Home...

2018-04-27 10:42:11 432

原创 两种情况下不会生成默认拷贝赋值运算符

1、成员变量包含了const和引用e.gtemplate<class T>class NamedObject{public: NamedObject(std::string& Name, const T& value): nameValue(Name),objectValue(value){}private: std::string& nameV...

2018-04-26 14:56:09 768

原创 确定对象使用前已经初始化

一、中心内容1、为内置类型对象进行手工初始化,因为C++不保证初始化他们。2、构造函数最好使用成员初始列表,而不要在构造函数本体内使用赋值操作。初始列表列出的成员变量,其排列次序应该和它们在class中的声明次序相同;3、为免除“跨编译单元值初始化次序”问题,请以local static对象替换non-local static对象。二、主要内容(1)初始化的最佳方式是用初始化列表e.gclass ...

2018-04-26 11:22:40 353

原创 尽可能使用const

一、中心思想1、将某些东西声明为const可帮助编译器侦测出错误用法。const可被施加于任何作用域内的对象、函数参数、函数返回类型、函数返回类型、成员函数本体;2、编译器强制实施bitwise constness,但你编写程序时应该使用“概念上的常量性”;3、当const和non-const成员函数有着实质等价的实现时,令non-const版本调用const版本可避免代码重复。二、简述1、面对指...

2018-04-25 15:37:45 294

原创 尽量以const、enum、inline替换#define(编译器替换预处理器)

一、中心内容:1、对于单纯常量,最好以const对象或enums替换#defines;2、对于形似函数的宏,最好改用inline函数替换#define。二、简述(1)const和#definee.g #define ASPECT_RATIO 1.653;             改为   const double AspectRatio =  1.653;//大写名称通常用于宏1、前者的ASPEC...

2018-04-24 15:55:08 550

转载 线性表和链表的区别、联系

原文见:https://www.cnblogs.com/wincai/p/5893475.html线性表,线性表和链表的区别存储类别顺序存储结构单链表存储分配方式用一段连续的存储单元依次存储线性表的数据元素采用链式存储结构,用一组任意的存储单元存放线性表的元素时间性能查找O(1)、插入和删除O(n)查找O(n)、插入和删除O(1)空间性能需要预分配存储空间,分大了浪费,小了容易发生上溢不需要分配存...

2018-03-26 09:50:22 1234

转载 C++之类的析构函数

C++之类的析构函数 一、认识析构函数    原文见:https://www.cnblogs.com/MrListening/p/5567762.html     这里我们来简单说说类的析构函数,它是类的一个成员函数,名字由波浪号加类名构成。看它的名字我们大概就能联想到他功能,是执行与构造函数相反的操作:释放对象使用的资源,并销毁非static成员。   同样的,我们来看看析构函数的几个特点:1....

2018-03-06 22:48:41 491

转载 双正交、完备性、对偶向量

1.信号分解及完备性设是X由一组向量所张成,即:如果线性独立,我们则称它们为空间中的一组基”。那么信号x可以离散表示如下:若是一组两两互相正交的向量,展式称为x的正交展开。分解系数是在各个基向量上的投影。设向量和向量满足如下双正交关系:那么,我们对原始信号就行投影变换(內积):看看,我们把最关心的分解系数给弄出来了

2017-12-27 10:58:12 13120

转载 对偶空间和对偶基

作者:Hua Xiao链接:https://www.zhihu.com/question/38464481/answer/132756971来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。“对偶空间”是“线性空间”,它里面的元素是“线性映射”。仅仅是这句话就足以让许多人一头雾水了。为了理解它,我们先说说“集合”:所有的“线性空间”都是“集合

2017-12-27 10:44:03 21838 5

转载 粒子群算法

原文见:http://blog.csdn.net/niuyongjie/article/details/1569671http://blog.csdn.net/niuyongjie/article/details/1572814粒子群算法简介一、粒子群算法的历史        粒子群算法源于复杂适应系统(Complex Adaptive Syst

2017-12-13 17:00:49 823

原创 顶层const和底层const

#include#includeusing namespace std;int main() {int i = 0;int *const p1 = &i;//p1是常量,即指针本身是一个常量,所以是一个顶层constconst int ci = 42;//同上const int *p2 = &ci;//p2的值可以改变,不变的是p2指针所指向的内容,所以是底层c

2017-12-06 12:08:10 382

转载 傅里叶分析之掐死教程(完整版)

首发于与时间无关的故事写文章Heinrich3 年前作 者:韩 昊知 乎:Heinrich微 博:@花生油工人知乎专栏:与时间无关的故事谨以此文献给大连海事大学的吴楠老师,柳晓鸣老师,王新年老师以及张晶泊老师。转载的同学请保留上面这句话,谢谢。如果还能保留文章来源就更感激不尽了。——更新于2014.6.

2017-12-04 12:12:47 434

原创 对腐蚀 和 膨胀 的理解

对腐蚀 和 膨胀 的理解原理:在特殊领域运算形式——结构元素(Sturcture Element),在每个像素位置上与二值图像对应的区域进行特定的逻辑运算。运算结构是输出图像的相应像素。运算效果取决于结构元素大小内容以及逻辑运算性质。结构元素:膨胀和腐蚀操作的最基本组成部分,用于测试输出图像,通常要比待处理的图像小还很多。二维平面结构元素由一个数值为0或1的矩阵组成。结构元素的

2017-11-21 16:34:06 5160

转载 双边滤波算法原理

双边滤波算法原理1. 简介图像平滑是一个重要的操作,而且有多种成熟的算法。这里主要简单介绍一下Bilateral方法(双边滤波),这主要是由于前段时间做了SSAO,需要用bilateral blur 算法进行降噪。Bilateral blur相对于传统的高斯blur来说很重要的一个特性即可可以保持边缘(Edge Perseving),这个特点对于一些图像模糊来说

2017-11-20 11:41:33 4440

转载 高斯滤波器详解

高斯滤波器详解本文主要介绍了高斯滤波器的原理及其实现过程高斯滤波器是一种线性滤波器,能够有效的抑制噪声,平滑图像。其作用原理和均值滤波器类似,都是取滤波器窗口内的像素的均值作为输出。其窗口模板的系数和均值滤波器不同,均值滤波器的模板系数都是相同的为1;而高斯滤波器的模板系数,则随着距离模板中心的增大而系数减小。所以,高斯滤波器相比于均值滤波器对图像个模糊程度较小。什

2017-11-20 10:52:57 7498

原创 opencv中矩阵数据的存取

一、最简单的方法——利用宏两种宏:(1)CV_MAT_ELEM()CvMat* mat = cvCreateMat(5,5,CV_32FC1);float element_3_2 = CV_MAT_ELEM(*mat, float,3,2);一共三个参数,第一个参数是传入的矩阵,第二个参数是待返回元素的行,最后一个是列。(2)CV_MAT_ELEM_P

2017-11-15 15:44:20 1218

原创 用imageROI来增加某范围的像素

先贴出代码# include "highgui.h"# include "cv.h"# includeusing namespace std;using namespace cv;int main(int argc, char** argv){ IplImage* src ; if ( argc = 7 && ((src = cvLoadImage(argv[1],1)) !=

2017-11-14 11:47:17 372

转载 理解一般指针和指向指针的指针

理解一般指针和指向指针的指针relation:http://blog.csdn.net/g200407331/article/details/52610175在说指向指针的指针之前,不得不说指向变量的指针。先看如下示例:1. 指向整型指针先看如下示例:View Code 1 #include  2 using namespace 

2017-11-14 11:43:26 144

转载 【转】小波变换

形象易懂讲解算法I——小波变换最早发于回答:能不能通俗的讲解下傅立叶分析和小波分析之间的关系? - 咚懂咚懂咚的回答现收入专栏。从傅里叶变换到小波变换,并不是一个完全抽象的东西,可以讲得很形象。小波变换有着明确的物理意义,如果我们从它的提出时所面对的问题看起,可以整理出非常清晰的思路。下面我就按照傅里叶-->短时傅里叶变换-->小波变换的顺序,讲一下为什么会出现

2017-11-02 21:47:24 1402

转载 Hough transform(霍夫变换)

主要内容:1、Hough变换的算法思想2、直线检测3、圆、椭圆检测4、程序实现一、Hough变换简介       Hough变换是图像处理中从图像中识别几何形状的基本方法之一。Hough变换的基本原理在于利用点与线的对偶性,将原始图像空间的给定的曲线通过曲线表达形式变为参数空间的一个点。这样就把原始图像中给定曲线的检测问题转化为寻找参数空间中的峰值问

2017-10-10 10:43:05 621

转载 卷积矩阵及其运算实例

矩阵的卷积运算主要用在图像处理中,假设输入信号为x[m,n],激活响应为h[m,n],则其卷积定义为:不过在图像处理中这里的激活响应(也称为核)h[m,n]通常是一个3乘3矩阵,其下标如下图所示其余下标的值取0,注意到原点(0,0)是是矩阵的中心。    在图像处理中,输入信号x[m,n]的非零值通常是横坐标从0到M-1,纵坐标从0到N-1,这里M和N分别是图像宽和

2017-10-10 10:40:16 7470

转载 【转】时间复杂度的计算

基本的计算步骤 时间复杂度的定义     一般情况下,算法中基本操作重复执行的次数是问题规模n的某个函数,用T(n)表示,若有某个辅助函数f(n),使得当n趋近于无穷大时,T(n)/f(n)的极限值为不等于零的常数,则称f(n)是T(n)的同数量级函数。记作T(n)=O(f(n)),称O(f(n))为算法的渐进时间复杂度(O是数量级的符号 ),简称时间复杂度。根据定义,可以归纳

2017-09-12 11:12:57 846

转载 正则化

1. The Problem of Overfitting1还是来看预测房价的这个例子,我们先对该数据做线性回归,也就是左边第一张图。如果这么做,我们可以获得拟合数据的这样一条直线,但是,实际上这并不是一个很好的模型。我们看看这些数据,很明显,随着房子面积增大,住房价格的变化趋于稳定或者说越往右越平缓。因此线性回归并没有很好拟合训练数据。我们把此类情况称为欠

2017-09-04 09:55:50 270

空空如也

空空如也

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

TA关注的人

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