程序语言
文章平均质量分 89
bingfeic
这个作者很懒,什么都没留下…
展开
-
C语言实现try catch处理
我们都知道,在Java、C#等高级程序语言中,都自带有异常处理机制,其基本结构如下:try{程序语句;}catch(Exception ex){异常处理;}这样做不但可以防止程序异常终止,而且在出现错误时可以及时作一些释放资源处理,对程序能继续健壮的运行下去尤其重要。但是C语言中没有这样异常处理机制,我们可以通过宏定义去实现类似这样的操作,这时候就使用到C语言强大而转载 2017-11-18 13:09:00 · 31573 阅读 · 0 评论 -
C\C++语言指针的强大用法之减少内存申请次数
在我们编写程序时,可定会遇到下面比较复杂的结构体,结构体里面存在指针类型的结构,指针类型的结构又存在指针数据,这时候我们分配内存的时候自然而然会想到分配多次,同时还要释放多次,这样不但比较繁琐,而且效率也比较低。下面我们举例复杂结构体定义:假设我们要定义一个Container类型的指针,并且含有一个Shape,此Shape有五个Point传统我们的内存分配方式:转载 2017-11-18 17:10:08 · 383 阅读 · 0 评论 -
C\C++语言指针的强大用法之数组当作指针使用
在消息交互的结构体种,可能存在某些字段长度不固定,这时候我们很容易想到指针类型去实现这种功能,但是指针的增加玩玩会导致我们需要增加其内存的申请和释放,而且在我们调用memcpy进行拷贝的时候只能进行浅拷贝(至于深拷贝和浅拷贝的概念大家不知道的网上查下就明白了),这会带来很多的不便。实际过程中,我们可以使用数组代替指针的用法去避免这些不便,下面通过具体的例子来说明这个问题:假如我们有两个转载 2017-11-18 18:33:24 · 1235 阅读 · 0 评论 -
深度剖析C++析构函数
构造函数和析构函数在C中意味着生命周期的开始和结束,它们的实现原理相同。由于析构函数往往还设置成虚函数,所以这里我重点介绍下C析构函数的原理和各种场景。一、析构函数的作用当对象的生命周期结束时,会自动调用析构函数,以清理一些资源,比如释放内存、关闭文件、关闭数据库连接等等。二、析构函数调用的时机(1)基类析构我们反汇编下查看上面代码:从反汇编中可以看出,在对象离开它原创 2017-12-09 21:48:36 · 2389 阅读 · 0 评论 -
extern "C"使用总结
在C++源代码中,我们经常会看到下面的代码:#ifdef _cplusplusextern “C” {#endif/* ….. */#ifdef _cplusplus#endif那么它的作用是什么呢,其实extern "C"是C中的一种声明,它是告诉编译器将这部分代码按照C语言的形式进行编译和链接,我们都知道,C和C编译器对函数和变量的处理是完全不同的,因此原创 2017-11-26 13:33:09 · 340 阅读 · 0 评论