自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Touch_Dream的博客

coding is powerful

  • 博客(31)
  • 资源 (2)
  • 收藏
  • 关注

转载 深度学习在视频动作识别应用

深度学习在最近十来年特别火,几乎是带动AI浪潮的最大贡献者。互联网视频在最近几年也特别火,短视频、视频直播等各种新型UGC模式牢牢抓住了用户的消费心里,成为互联网吸金的又一利器。当这两个火碰在一起,会产生什么样的化学反应呢?  不说具体的技术,先上一张福利图,该图展示了机器对一个视频的认知效果。其总红色的字表示objects, 蓝色的字表示scenes,绿色的字表示activities。

2017-07-31 23:13:41 37538 8

原创 表达式和基本语句的规范

真正的高手对于自动语法语句的规范也是非常讲究或者说有自己一套优美风格。 (1)如果代码行中的运算符比较多,用括号确定表达式的操作顺序,避免使用默认的优先级 (2)不要编写太复杂的复合表达式 (3)不要有多用途的复合表达式 如:d=(a=b+c)+r; (4)不要把程序中的复合表达式与“真正的数学表达式”混淆if语句效率 (5)不可将布尔变量直接与TRUE、FALSE或者1,0进行比较。因

2017-07-31 22:57:35 977

原创 命名规则

比较著名的命名规则当推微软公司的“匈牙利”法,该命名规则的主要思想是“在变量和函数名中加入前缀以增进人们对程序的理解”。例如所有的字符变量均以ch为前缀,若是指针变量则追加前缀p。如果一个变量由ppch开头,则表明它是指向字符指针的指针。但也带来了繁琐,这也是程序员抱怨的地方。共性规则大部分程序员采纳,我们应当在遵循这些共性规则的前提下,再扩充特定的规则。 (1)标志字符应当直观可以拼读,可望文知

2017-07-31 17:08:09 598

原创 良好编码

考察一段代码或者一个函数的好坏: (1)编程风格 (2)出错处理 (3)算法复杂度分析,主要是做性能的分析当然真正的高质量代码是需要不断琢磨,必须耐得住正确性、健壮性、可靠性、效率、易用性、可读性、可扩展性、可复用性、兼容性、可移植性考验。 也存在这样的两种人: (1)编程老手可能会长期用隐含错误的方式编程(习惯成自然),发现毛病后都不愿相信那是真的! (2)编程高手可以在某一领域写出极

2017-07-31 10:58:52 352

原创 什么是设计模式

设计模式是一套理论,由软件界的先辈们总结出的一套可以反复使用的经验,它可以提高代码的可重用性,增强系统的可维护性,以及解决一系列的复杂问题。 做软件的人都知道需求是最难把握的,我们可以分析现有的需求,预测可能发生的变更!需求的变更是不可控的,那如何拥抱变化?我们通过设计模式给了我们指导,专家们提出了6大设计原则,但这6大设计原则仅仅是一系列口号,真正付诸实施还需要有详尽的指导方法,于是出现了23种

2017-07-30 17:15:14 507

原创 抽象基类和纯虚函数

在设计时,常常希望基类仅仅作为其派生类的一个接口。这就是说,仅想对基类进行向上类型转换,使用它的接口,而不希望用户实际地创建一个基类的对象。要做到这点,可以在基类中加入至少一个纯虚函数,来使基类成为抽象类。纯虚函数使用关键字virtual,并且在其后面加上=0。如果某人试着生成一个抽象类的对象,编译器会制止他,这个工具允许生成特定的设计。 当继承一个抽象类时,必须实现所有的纯虚函数,否则继承出的类

2017-07-30 15:19:08 430

原创 文档编写

一个成功的程序库,好的文档是至关重要的!一般需要文档:设计文档,使用指南和参考手册。文档编制和重用性没有经过适当文档化的代码不能成为可重用代码,一个设计得很好的程序库,如果文档编制得好,那么将会是一个文档齐全的程序库,否则会功亏一篑,对于希望快速学会如何使用程序库的用户而言,好的文档是必不可少的。就算是小规模的程序库,也不应该忽视文档的编写。衡量一个好的程序库的文档,如果设计和实现相同功能新程序库的

2017-07-29 16:00:50 509

原创 重用其他程序库

重用其他程序库也会带来一些不足:需要用户得到可重用的代码,需要充分考虑重用后的效率,还要关注由重用其他程序所带来的潜在名字空间冲突,以及要考虑与可重用程序库保持版本同步问题。为何要重用其他程序库一般我们自己在编写一个程序库的时候,会尽量找到高效率优秀的程序库,然后重用其中高效的代码。不会一个库都全部是自己编码,一来开发效率低下,二来质量也不高。主要还涉及领域知识问题,有些程序库是某个领域专用的,里面

2017-07-29 14:33:28 347

原创 可移植性

对于一段代码,它的移植性越好,重用性就越好! 可可移植性优缺点可移植性通常会和效率与实现的难易程度相互制约,具体地说,在一个或者多个平台上容易实现的可移植性代码通常都是低效的,通用既低效,专用才高效! 常会用 #indef XXXX ………………. #else ………………… #endif 条件编译是针对不同平台执行不同接口,好处就是高效。因为不同平台

2017-07-28 23:06:18 3085

原创 C++继承体系

一个继承体系的根数目,深度和扇出数是否合适,要取决于这个体系要模拟的领域和这个领域所需要的特性。 1、

2017-07-28 11:05:55 425

原创 程序兼容性

代码版本可以提供各种不同形式的兼容性:源代码兼容性,链接兼容性,运行兼容性,和进程兼容性。这些都是根据C++程序创建各个过程命名的, 1、如果没有用户需要重新编译任何代码,那么程序库的版本n和版本m就具有源代码兼容性 2、如果没有用户需要重新编译任何代码,那么版本n和版本m就具有链接兼容性 3、如果没有任何目标文件等需要重新链接,那么版本n和版本m进程兼容性理论源代码兼容性源代码兼容性主要指的

2017-07-27 22:54:22 1330 1

原创 程序冲突及其解决

描述对于两部分软件,如果它们不能在同一个程序里很容易地用在一起,那么我们就称这两部分软件是冲突的。可重用代码应该尽可能地避免这种冲突。程序库使用的名字可能会和其他程序库的名字发生冲突,这些冲突包括全局名称,宏名称和环境名称相互之间的冲突。

2017-07-26 23:12:23 2354

原创 程序错误类型及其处理

程序在设计调试甚至运行都难免出现错误,我们要做的是检测错误。程序库错误指的是程序库实现错误,当然,程序库的提供者在程序库发布之前,肯定想尽可能多地检测和纠正错误,但是任何比较大的程序库在发布的时候,都是肯定会包含错误的。用户错误主要是用户操作不当,指如何使用程序库方面的错误系统错误指用户程序和该程序所运行的系统之间发生交互时所引发的错误。这种错误部分是系统的责任,部分是用户的责任。错误检测一般会额外

2017-07-26 17:08:56 2134

原创 提高codeing运行时间效率

使用现有著名高效算法通过内联inline增加代码量来节省运行时间函数采用返回引用而不是返回值,因为返回值需要高昂的拷贝开销减少空闲存储空间(new和malloc申请内存)和堆栈空间使用尽可能快地释放空闲资源小心处理static静态对象,使用完最好释放掉资源局部使用庞大对象是不明智,但是非要用的话请用指针指向new申请的空闲储存空间,要记得使用完毕删除对象 8.

2017-07-26 11:14:59 374

原创 C++的“虚”应用

纯虚函数关于什么是C++的纯虚函数,这里不在累赘阐述,可以参见百度。一句话说其结构就是virtual fun()=0,纯虚函数的作用主要是实现更抽象化的接口。可以说是一种提高编程效率的机制,他的目的是告诉用户这样的类拥有的接口行为,但是其不会具体实现,由继承他的子类派生类实现。相当于这样的接口在具体的子类中表现的行为是不一样的。注意有纯虚函数的类成为抽象类,不可以实例化!!虚函数基类指针调用子类同名

2017-07-26 10:17:06 290

原创 内联的优缺点

定义和机制内联函数是指用inline关键字修饰的函数。在类内定义的函数被默认成内联函数。内联函数从源代码层看,有函数的结构,而在编译后,却不具备函数的性质。 内联函数不是在调用时发生控制转移,而是在编译时将函数体嵌入在每一个调用处。编译时,类似宏替换,使用函数体替换调用处的函数名。一般在代码中用inline修饰,但是能否形成内联函数,需要看编译器对该函数定义的具体处理。优点1、内联函数,编译器将会

2017-07-26 09:27:11 4204

转载 VS好用插件

转载:http://www.csdn.net/article/2012-05-03/2805262Visual Studio是微软公司推出的开发环境,Visual Studio可以用来创建Windows平台下的Windows应用程序和网络应用程序,也可以用来创建网络服务、智能设备应用程序和Office插件。本文介绍16款最棒的Visual Studio扩展:1. D

2017-07-25 12:03:10 1879

原创 C++浅拷贝和深拷贝

用一句简单的话来说就是浅拷贝,只是对指针的拷贝,拷贝后两个指针指向同一个内存空间,深拷贝不但对指针进行拷贝,而且对指针指向的内容进行拷贝(重新分配有内存),经深拷贝后的指针是指向两个不同地址的指针。因此浅拷贝释放内存的时候很容易出现因为释放两个指针而内存出错。拷贝情况: 当对象中存在指针成员时,除了在复制对象时需要考虑自定义拷贝构造函数,还应该考虑以下两种情形: 1.当函数的参数为对象时,实参传

2017-07-24 16:38:16 745

转载 Linux基本认识

Linux操作笔记转载 http://blog.csdn.net/a282255307/article/details/75577302?ref=myread前言为了熟练使用,抽空学习了下Linux系统,做了些笔记Linux目录结构/binbin 是 Binary 的缩写。这个目录存放着最经常使用的命令。/boot 这里存放的是启动 Linux 时使

2017-07-24 11:02:00 417

转载 union和enum使用

一、联合(union)1.定义联合与结构相似,也可以容纳不同类型的值,但每次只能存一个值,若在容纳另一个值将会把前面的值覆盖调(即:多个变量使用同一个内存空间,但内存空间只有1个,所以要这些变量在不同时间用才行)2.结构union mima//这里和结构体类似,就是吧struct改为union { unsigned long birthday; unsign

2017-07-24 10:58:00 691

转载 C++抽象设计目的

一、纯虚函数定义1.纯虚函数是在基类中声明的虚函数,首先最起码是在基类中的虚函数 2.纯虚函数在基类中是没有定义的,这里指基类,但任何子类中都要定义该纯虚函数的实现方法 3.在基类中实现纯虚函数的方法是虚函数原型后加“=0”,例如: virtual void function()=0;为什么要引入纯虚函数?1.因为当你顶级基类A有一虚函数play();,而A的子

2017-07-24 09:49:19 587

原创 Vector用数组下标访问的条件

vector实现数组访问的条件通过两段代码测试,我们得出原则就是数组下标[]访问,前提就是这样的元素是存在的,就可以使用这样的访问形式,vector容器是重载了数组的访问形式。这一点程序员务必要小心,因为些这样的程序是编译通过的,但是运行的时候内存就会报错!#include <vector>#include <iostream>using namespace std;int main(){

2017-07-14 16:08:58 9476 1

原创 C++容器嵌套实现动态二维数组

实现代码#include<stdio.h>#include <iostream>#include <vector>using namespace std;int main(){ int row, column; cin >> row >> column; vector<vector<int> > a(row, vector<int>(column)); /

2017-07-10 17:41:15 3615

原创 Error - RtlWerpReportException failed with status code :-1073741823. Will try to launch the process

错误内容Error - RtlWerpReportException failed with status code :-1073741823. Will try to launch the process directly 程序异常结束。这个问题是编译通过,但是运行时报错! 关于Qt Creator报上诉错,通过debug定位错误的地方是在申请堆内存的地方出错。仔细的查了相关代码,还是没什么大

2017-07-10 10:37:13 4210

转载 程序员如何跳级

文章转载:http://blog.csdn.net/foruok/article/details/74908128进了小公司的应届程序员如何翻身进入大公司——知乎上的一个问题,有近 4700 人关注,130 多万次浏览,我的回答有 125 人赞同。看来这是很多在小公司颠簸流离多年感到疲惫的开发者都会关注的问题。问题描述如下:都知道大家说毕业要去大公司,但总有不小心或实力不济,进了小

2017-07-10 09:30:55 466

原创 Qt报Multiple definition错误的解决

问题描述 今天在QT的开发环境下编写代码的时候发现这样的问题,如上图所示。经过自己千百次代码确认,代码是不存在任何问题,最后发现原来是自己添加文件的时候多添加了一次,导致在.pro文件下面有重复包含,发现.pro文件所示: 有两个cluster.cpp文件,这下才完全明白了!原来是文件的重复包括。这个问题也是在其他编辑器中没有发现的。总结1、Qt包含文件进工程一起联合编译时在.pro文件里面

2017-07-10 09:24:29 3115

原创 anaconda安装pyqt

众所周知anaconda安装任何python插件非常轻而易举的事情。今天我们安装Python的图形界面插件PyQt,这个插件支持py2.x,py3.x。可以快速的开发图形界面。在anaconda里面py3.x的安装都是pyqt5. 1、首先得有anaconda,这个很方便安装,点我https://www.baidu.com/link?url=DT7So1bkxCOoXqhfZHOfQ0tSoBvT

2017-07-08 15:15:47 16345 1

转载 Qt 中有两种方式编译MinGW和MSVC

Qt 中有两种方式编译,一种是MinGW ,另一种MSVC。其中:MSVC是指微软的VC编译器 MingGW是指是Minimalist GNU on Windows的缩写。它是一个可自由使用和自由发布的Windows特定头文件和使用GNU工具集导入库的集合,允许你 在GNU/Linux和Windows平台生成本地的Windows程序而不需要第三方C运行时库。

2017-07-08 14:31:11 3788

转载 生活

Data is king,math is queen!

2017-07-07 16:15:57 348

原创 环境变量

环境变量(environment variables)一般是指在操作系统中用来指定操作系统运行环境的一些参数,如:临时文件夹位置和系统文件夹位置等。 环境变量是在操作系统中一个具有特定名字的对象,它包含了一个或者多个应用程序所将使用到的信息。例如Windows和DOS操作系统中的path环境变量,当要求系统运行一个程序而没有告诉它程序所在的完整路径时,系统除了在当前目录下面寻找此程序外,还应到pa

2017-07-04 22:27:03 361

转载 Python列表、元组、字典使用

python中,有3种内建的数据结构:列表、元组和字典。 1.列表 list是处理一组有序项目的数据结构,即你可以在一个列表中存储一个序列的项目。列表中的项目。列表中的项目应该包括在方括号中,这样python就知道你是在指明一个列表。一旦你创建了一个列表,你就可以添加,删除,或者是搜索列表中的项目。由于你可以增加或删除项目,我们说列表是可变的数据类型,即这种类型是可以被改变的,并且列表

2017-07-01 16:07:21 556

qt4第三方串口文件

qt4自身库是没有串口类的,该文件是第三方库,可以用于Linux和Windows,而qt5是自带有串口类的,无需该文件的加入。

2016-11-15

C++开发STM8单片机

用C++封装特性,在STM8单片机上面实现高级封装,减少了用户上手时间,让用户更多时间保留在应用层面。

2016-06-12

空空如也

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

TA关注的人

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