- 博客(6)
- 资源 (7)
- 收藏
- 关注
原创 std::async在gcc和vc不同编译器下的不同表现(可能会阻塞)
最近由于项目的需要,在学习c++11中的std::async,想在项目中直接利用其异步操作的特性,而不是thread。但是该方法却在不同的编译器下有着不同的表现。实验环境一:操作系统:ubuntu 12.0.4 32位编译器:gcc 5.4.1源码:#include #include #include #include #include using namespace
2017-07-23 18:35:52 1931 1
原创 可变参数实现log打印
实现步骤如下: 1. 函数原型中使用省略号; 2. 函数定义中创建一个va_list变量; 3. 初始化va_list变量; 4. 访问参数列表; 5. 完成清理工作; 上述步骤的实现需要使用到四个宏:va_list、va_start(va_list, arg)、va_arg(va_list, type)、va_end(va
2017-07-22 17:27:02 2415
原创 创建型:原型模式(Prototype)
我们都知道,创建型模式一般是用来创建一个新的对象,然后我们使用这个对象完成一些对象的操作,我们通过原型模式可以快速的创建一个对象而不需要提供专门的new()操作就可以快速完成对象的创建,这无疑是一种非常有效的方式,快速的创建一个新的对象。原型模式的主要思想是基于现有的对象克隆一个新的对象出来,一般是有对象的内部提供克隆的方法,通过该方法返回一个对象的副本,这种创建对象的方式,相比我们之前说的几
2017-07-15 18:17:55 376
原创 左值引用(&)以及右值引用(&&)(原创+转载)
话题一:到底引用是什么?底层实现原理是什么?带着这几个问题我们分析一下下面的代码:int _tmain(int argc, _TCHAR* argv[]){ int x = 1; int y = 2; int &b = x;#ifdef _DEBUG printf("&x=%x,&y=%x,&b=%x,b=%x\n", &x, &y, &y-3, *(&y - 3));#else
2017-07-15 18:07:56 494
原创 创建型:建造者模式(Builder)
建造者模式实际上是常用的设计模式。顾名思义,builder的意思是建造者或者建筑工人,谈到建造自然会想到楼房。楼房是千差万别的,楼房的外形、层数、内部房间的数量、房间的装饰等等都不一样,但是对于建造者来说,抽象出来的建筑流程是确定的,往往建筑一座楼房包括下面的步骤:(1)打桩,建立基础(2)建立框架等。建造者模式的本质和建造楼房是一致的:即流程不变,但每个流程实现的具体细节则是经常变化的。建造者模
2017-07-02 16:36:06 383
原创 androidStudio中无法获取versionName
获取到的 VersionName 和 VersionCode 一直是1.0 和 1。但是在 AndroidManifest.xml中已经修改:android:versionCode="2"android:versionName="1.0.0"其实在AndroidStudio中版本信息保存在build.gradle中:defaultConfig { applicationI
2017-07-01 22:46:28 1154
MATLAB环境下的语音识别系统
2013-04-30
MATLAB环境下的基于HMM模型的语音识别系统
2013-04-30
通信原理MATLAB仿真
2013-04-28
语音信号处理
2013-04-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人