- 博客(9)
- 资源 (1)
- 收藏
- 关注
原创 设计模式之单例模式,懒汉模式与饿汉模式
设计模式之单例模式,懒汉模式与饿汉模式 单例模式是一种常用的软件设计模式,它保证在软件运行过程中对象在内存中只存在一份实例,单例模式通常有懒汉模式与饿汉模式。1.懒汉模式懒汉模式是在第一次调用的时候才创建实例,但是在多线程的环境下很可能创建多个实例,因此是线程不安全的。C++代码:class Singleton{ protected: Singleton(){}
2017-12-16 19:42:22
419
原创 深度剖析C++析构函数
构造函数和析构函数在C中意味着生命周期的开始和结束,它们的实现原理相同。由于析构函数往往还设置成虚函数,所以这里我重点介绍下C析构函数的原理和各种场景。一、析构函数的作用当对象的生命周期结束时,会自动调用析构函数,以清理一些资源,比如释放内存、关闭文件、关闭数据库连接等等。二、析构函数调用的时机(1)基类析构我们反汇编下查看上面代码:从反汇编中可以看出,在对象离开它
2017-12-09 21:48:36
2412
原创 extern "C"使用总结
在C++源代码中,我们经常会看到下面的代码:#ifdef _cplusplusextern “C” {#endif/* ….. */#ifdef _cplusplus#endif那么它的作用是什么呢,其实extern "C"是C中的一种声明,它是告诉编译器将这部分代码按照C语言的形式进行编译和链接,我们都知道,C和C编译器对函数和变量的处理是完全不同的,因此
2017-11-26 13:33:09
354
转载 C\C++语言指针的强大用法之数组当作指针使用
在消息交互的结构体种,可能存在某些字段长度不固定,这时候我们很容易想到指针类型去实现这种功能,但是指针的增加玩玩会导致我们需要增加其内存的申请和释放,而且在我们调用memcpy进行拷贝的时候只能进行浅拷贝(至于深拷贝和浅拷贝的概念大家不知道的网上查下就明白了),这会带来很多的不便。实际过程中,我们可以使用数组代替指针的用法去避免这些不便,下面通过具体的例子来说明这个问题:假如我们有两个
2017-11-18 18:33:24
1250
转载 C\C++语言指针的强大用法之减少内存申请次数
在我们编写程序时,可定会遇到下面比较复杂的结构体,结构体里面存在指针类型的结构,指针类型的结构又存在指针数据,这时候我们分配内存的时候自然而然会想到分配多次,同时还要释放多次,这样不但比较繁琐,而且效率也比较低。下面我们举例复杂结构体定义:假设我们要定义一个Container类型的指针,并且含有一个Shape,此Shape有五个Point传统我们的内存分配方式:
2017-11-18 17:10:08
395
转载 C语言实现try catch处理
我们都知道,在Java、C#等高级程序语言中,都自带有异常处理机制,其基本结构如下:try{程序语句;}catch(Exception ex){异常处理;}这样做不但可以防止程序异常终止,而且在出现错误时可以及时作一些释放资源处理,对程序能继续健壮的运行下去尤其重要。但是C语言中没有这样异常处理机制,我们可以通过宏定义去实现类似这样的操作,这时候就使用到C语言强大而
2017-11-18 13:09:00
31623
转载 初探验证码识别
0x00 背景介绍全自动区分计算机和人类的图灵测试(英语:Completely Automated Public Turing test to tell Computers and Humans Apart,简称CAPTCHA),俗称验证码。CAPTCHA这个词最早是在2002年由卡内基梅隆大学的路易斯·冯·安、Manuel Blum、Nicholas J.Hopper以及IBM的John
2015-03-25 18:44:17
1087
原创 亚马逊mws-API(SubmitFeed)之订单配送详解
亚马逊mws订单配送总体分三个步骤创建配送上传的xml ,格式大致如下 1.01 MYID OrderFulfillment 1 XXXXXXXXXXXXXXXX 201
2015-03-24 17:12:38
13329
4
原创 html学习之路(一):html发展历程
最近正在学Html5。HTML5是web开发世界的一次重大的改变,增加了许多新特性。html历程版本年份HTML1991HTML+1993HTML 2.01997HTML 3.21997HTML 4.012000HTML52012XHTML52013
2015-03-18 12:23:31
442
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人