自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

键盘上跳舞的精灵

深度学习 音视频编解码 计算机视觉

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

原创 STL 慎重选择删除元素的方法

假设你有一个容器,Containerc,针对连续内存容器(vector、deque或string),那么最好用erase-remove的习惯用法:c.erase(remove(c.begin(),c.end(),4),c.end());对于list,可以采用如下方式:c.remove(4);当c为标准关联容器时,例如set,multiset,map或multimap时,使用任何名为remove的操作

2017-10-27 14:25:53 770

原创 C++中的list容器如何插入和删除第i个元素

使用C++中的list容器,假设定义了一个list nlist(30);和迭代器list::iterator pnlist = nlist.begin(); 现在我想删除nlist中的第i个元素如何删除?我写的是nlist.erase(pnlisr+i);但是报错,原因是一个整型的i不能跟nlist直接相加。请问如何才能解决了这个问题?list<int>::iterator pnlist = nli

2017-10-11 16:30:29 6426 3

原创 C++ STL入门篇

STL中有迭代器、算法和函数对象,但是对于大多数c++程序员来说,最值得注意的还是容器。容器比数组功能更加强大、更加灵活。他们可以动态增长(缩减),可以管理自己的内存,总之非常方便我们解决很多问题。下面介绍c++提供的STL封装:1.标准STL序列容器:vector,string,deque和list。 2.标准STL关联容器:set, multiset, map和multimap。 3.非标准

2017-10-10 15:00:52 397

原创 [JavaScript] Chrome启用ES6支持

输入:chrome://flags/选择:启用实验性 JavaScript Mac, Windows, Linux, Chrome OS, Android

2017-10-06 11:34:51 4393

原创 STL 去除多余的容量

虽然stl容器可以动态分配空间,尤其是顺序容器。但是很多情况下,为了避免对内存的多次分配,将会预先给容器分配很大的内存空间,等数据分配完成后,再进行去除多余的空间,这种方式可以有效提供程序的效率。这里采用下面的做法,可以从容器中去除多余的向量:vector<Constestant>(constestants).swap(constestants);代码如下:#include<iostream>#i

2017-10-30 17:42:02 505

原创 linux fork()函数浅析

fork()顾名思义是分支的意思,也就是克隆程序后面的代码至新的进程中,直接上程序:#include #include int main(){ pid_t fpid; //fpid表示fork函数返回的值 int count = 0; fpid = fork(); if (fpid < 0) p...

2017-10-27 10:45:54 387

原创 JS添加按钮交互

实现span内容增加和删除操作,代码如下:<!DOCTYPE html><html><head> <title>新增按钮</title></head><body><div id='container'> <button id="btn-add">新增</button> <div id="wrap"></div></div><script type="text/j

2017-10-22 14:24:07 2971

原创 c++读入文本所有内容

如何用c++将文本所有内容全部读入呢?可以使用getline函数,进行逐行读入。直接上程序:#include <iostream> #include <fstream> #include <string> using namespace std;int main(){ char *filePath = "E:\\test.txt"; ifstream file;

2017-10-22 13:44:28 818

转载 Linux chmod 命令

chmod—-改变一个或多个文件的存取模式(mode)chmod [options] mode files只能文件属主或特权用户才能使用该功能来改变文件存取模式。mode可以是数字形式或以who opcode permission形式表示。who是可选的,默认是a(所有用户)。只能选择一个opcode(操作码)。可指定多个mode,以逗号分开。options:-c,–changes 只输出被改变文

2017-10-22 11:08:35 300

原创 linux可执行文件找不到共享库

今天在执行一个ffmpeg程序时,提示:ffmpeg: error while loading shared libraries: libx264.so.152: cannot open shared object file: No such file or directorygoogle了一下,是由于找不到lib这个文件。解决办法:一般我们在Linux下执行某些外部程序的时候可能会提示找不到共享库

2017-10-20 11:55:59 2524

原创 MingW64+msys编译x264

很多情况下,我们需要在windows下使用linux下的开源库进行调试,那么如何编译64位的静态库? 1. 首先安装Mingw64和msys,安装地址见附录。 假设Mingw64的安装目录为d:/Mingw64, msys的目录在d:/msys,进入d:/msys/1.0/etc,修改fstab文件,改为:d:/Mingw64 \mingw2.运行d:/msys/1.0/msys.b

2017-10-19 14:03:29 594

转载 C/C++中输入带空格的字符串用法总结

在C/C++中,传统的输入流scanf(“%s”,&str) 和cin>>str,遇到空格会返回空格之前的字符串。但是在很多应用中,我们需要字符串中可以同时包含空格,那么前面的两种方法现在就不可用了,在C/C++中给我们提供了那些输入流处理方式呢。下面是我总结的几种常用的方法:(1)gets(char *str) 需要包含头文件#include <stdio.h>(2)scanf("%[^\n]

2017-10-19 10:01:34 1833

原创 ffmepg滤镜专题3-旋转

滤镜: transpose 在输入视频中转置行,并随意翻转。 dir 指定转换方向。passthrough 如果输入几何与指定值指定的值匹配,就不应用转置。它接受以下的值:‘none’ 总是应用转置。‘portrait’ 保存肖像几何(当 height >= width).‘landscape’ 保护景观几何(当 width >= height).Default value is

2017-10-16 17:29:14 410

原创 C++ STL list

list作为C++STL顺序容器,担任着重要的决策。它的插入和删除的时间复杂度为O(1),底层采用双向链表的结构。不多说了,直接上代码:#include <iostream>#include <list>#include <numeric>#include <algorithm>using namespace std;//创建一个list容器的实例LISTINTtypedef list<

2017-10-16 15:38:46 283

原创 c++ STL map解析

map是用来存放#include <map> #include <string> #include <iostream> using namespace std;struct CmpByKeyLength { bool operator()(const int& k1, const int& k2) { return k1 > k2; }};class

2017-10-13 17:12:19 349

原创 C++ STL set和multiset

1.概念 set的含义是集合,它是一个有序的容器,里面的元素都是排序好的,支持插入,删除,查找等操作,就 像一个集合一样。所有的操作的都是严格在logn时间之内完成,效率非常高。 set和multiset的区别是:set插入的元素不能相同,但是multiset插入的元素可以相同。std::set<int> s;s对象里面存贮的元素是从小到大排序的。(因为默认用std::less作为比较工具,这

2017-10-13 11:03:53 320

转载 学习c++50条建议

1.把C++当成一门新的语言学习;2.看《Thinking In C++》,不要看《C++变成死相》;3.看《The C++ Programming Language》和《Inside The C++ Object Model》,不要因为他们很难而我们自己是初学者所以就不看;4.不要被VC、BCB、BC、MC、TC等词汇所迷惑——他们都是集成开发环境,而我们要学的是一门语言;5.不要放过任何一个看上

2017-10-12 17:33:59 245

原创 C++11 通用智能指针

记录下,C++11标准下的通用智能指针,请注意shared_ptr是类,并不是真正的指正,具体用法如下所示:#include <iostream>#include <string>#include<memory>using namespace std;int main() { std::shared_ptr<double> p_first(new double); {

2017-10-12 16:16:02 390

原创 正则表达式-字符串分割

C++不像java那样,有自己的字符串分割函数,那么我们在实际应用中如何快速对某些规定格式的字符创进行分割,并提取内容呢? 下面来看代码: 针对IP地址,如何分割:10:22:192:34/17 //子表达式匹配 regex reg2("(\\d{1,3}):(\\d{1,3}):(\\d{1,3}):(\\d{1,3})/(\\d{1,3})"); vector<stri

2017-10-12 14:29:27 3335

原创 C++11标准 正则表达式

1.介绍 新的标准库定义了一个新的头文件<regex>,由一些新的类组成: 1.正则表达式由模板类std::regex的实例来表示; 2.模式匹配由的结果模板类std::match_results的实例来表示; 3.函数 regex_search 是用来搜索模式的; 若要搜索并替换,则要使用函数 regex_replace,该函数会返回一个新的字符串。算法regex_search 和 reg

2017-10-12 12:00:08 1378

原创 c++11新容器 tuple

tuple顾名思义是元组的意思,提起元组应该并不陌生,很受欢迎的python就有元组的概念,大家感兴趣可以去看看,这里主要介绍tuple的结构和常用使用方法。首先来看官方给出元组的说明:元组(tuple)由预先确定数量的多种对象组成.元组可以看作是struct数据成员的泛化.TR1 tuple类型的C++11版本获益于像可变参数模板这样的C++11语言特性.TR1版本的元组需要一个由实现定义的包含的

2017-10-12 10:46:15 457

转载 C++字符串分割

字符串切割的使用频率还是挺高的,string本身没有提供切割的方法,但可以使用stl提供的封装进行实现或者通过c函数strtok()函数实现。1、通过stl实现涉及到string类的两个函数find和substr: 1、find函数 原型:size_t find ( const string& str, size_t pos = 0 ) const; 功能:查找子字符串第一次出现的位置。

2017-10-10 16:24:53 292

ffmpeg测试代码

该代码可直接运行!

2017-08-01

深度学习工具箱

完整的深度学习工具箱,包含CNN, DBN,NN等常见深度学习模型。

2017-03-05

空空如也

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

TA关注的人

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