
C/C++
文章平均质量分 79
leonsc
这个作者很懒,什么都没留下…
展开
-
[c/c++]分析c语言声明优先级规则
Filename:[c/c++]分析c语言声明优先级规则Version:V1.0Date:12/09/2009Author:S.C.Leon =====================================================================一、问题的引入:先看几个例子:1)请指出下列表达式的含义。int *ap[原创 2009-12-09 21:50:00 · 1361 阅读 · 2 评论 -
[ZZ]select 和 epoll
select 和 epoll最近有朋友在面试的时候被问了select 和epoll效率差的原因,和一般人一样,大部分都会回答select是轮询、epoll是触发式的,所以效率高。这个答案听上去很完美,大致也说出了二者的主要区别。今天闲来无事,翻看了下内核代码,结合内核代码和大家分享下我的观点。一、连接数我本人也曾经在项目中用过select和epoll,对于select,感触最深的是linux下select最大数目限制(windows 下似乎没有限制),每个进程的select最多能处理FD_SETSIZE个F转载 2011-05-25 18:33:00 · 592 阅读 · 0 评论 -
[ZZ]c++ 覆盖、重载、隐藏
<br />原文链接:http://blog.youkuaiyun.com/besthyq/archive/2006/11/08/1373007.aspx<br />“overload”翻译过来就是:超载,过载,重载,超出标准负荷;“override”翻译过来是:重置,覆盖,使原来的失去效果。<br />先来说说重载(Overload)的含义,在日常生活中我们经常要清洗一些东西,比如洗车、洗衣服。尽管我们说话的时候并没有明确地说用洗车的方式来洗车,或者用洗衣服 的方式来洗一件衣服,但是谁也不会用洗衣服的方式来洗一辆车,转载 2011-04-11 22:48:00 · 829 阅读 · 0 评论 -
读《effective_c++》之一_#define_和const
条款一:视C++为一个语言联邦条款二:尽量以const,enum,inline替换 #define条款三:尽可能使用const使用建议:对于单纯常量,最好以const对象活enums替换#define对于形似函数的宏(macros),最好改用inline函数替换#defines将某些东西声明为const可帮助编译器侦测出错误用法。const可被施加于任何作用域内的对原创 2011-06-04 16:12:00 · 812 阅读 · 0 评论 -
[ZZ]谈一谈网络编程学习经验
原文链接:http://www.cnblogs.com/Solstice/archive/2011/06/06/2073490.html本文谈一谈我在学习网络编程方面的一些个人经验。“网络编程”这个术语的范围很广,本文指用Sockets API开发基于TCP/IP的网络应用程序,具体定义见“网络编程的各种任务角色”一节。 受限于本人的经历和经验,这篇文章的适应范围是: · x86-64转载 2011-06-07 00:04:00 · 1236 阅读 · 0 评论 -
[ZZ]多态(Polymorphism)的实现机制
原帖地址:http://hi.baidu.com/daping_zhang/blog/item/e87163d06c42818fa0ec9cfc.html 多态(Polymorphism)是面向对象的核心概念,本文以C++为例,讨论多态的具体实现。C++中多态可以分为基于继承和虚函数的动态多态以及基于模板的静态多态,如果没有特别指明,本文中出现的多态都是指前者,也就是基于继承和虚函数的动态多态转载 2011-06-07 23:19:00 · 1003 阅读 · 0 评论 -
[ZZ]配置GDB以支持查看stl容器数据
原文链接:http://www.cublog.cn/u1/44543/showart_1953788.html1. 下载 http://www.yolinux.com/TUTORIALS/src/dbinit_stl_views-1.03.txt2. #cat dbinit_stl_views-1.03.txt >> ~/.gdbinit3. 若正处于gdb中,运行命令:(gdb)转载 2011-06-12 21:11:00 · 817 阅读 · 0 评论 -
[ZZ]测试用例的设计方法
原文链接:http://blog.youkuaiyun.com/winterwinner/archive/2010/05/12/5583619.aspx等价类划分方法: 一.方法简介1.定义 是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例。该方法是一种重要的,常用的黑盒测试用例设计方法。2.划分等价类: 等价类是指某个输入域的子集合。在该子集合中,各个输入数据对于揭露程序中的错误都是等效的,并合理地假定:测试某等价类的代表值就等于对这一类转载 2011-05-02 18:47:00 · 1119 阅读 · 0 评论 -
[ZZ]深入探讨C++中的引用
原文链接:http://blog.youkuaiyun.com/wfwd/archive/2006/05/30/763551.aspx引用是C++引入的新语言特性,是C++常用的一个重要内容之一,正确、灵活地使用引用,可以使程序简洁、高效。我在工作中发现,许多人使用它仅仅是想当然,在某些微妙的场合,很容易出错,究其原由,大多因为没有搞清本源。故在本篇中我将对引用进行详细讨论,希望对大家更好地理解和使用转载 2011-06-28 14:42:00 · 640 阅读 · 0 评论 -
[ZZ]UML实践----用例图、顺序图、状态图、类图、包图、协作图
<br />原文链接:http://dn.codegear.com/article/31863<br /> <br />面向对象的问题的处理的关键是建模问题。建模可以把在复杂世界的许多重要的细节给抽象出。许多建模工具封装了UML(也就是Unified Modeling Language?),这篇课程的目的是展示出UML的精彩之处。<br />UML中有九种建模的图标,即:用例图类图对象图顺序图协作图状态图活动图组件图配置图<br />本课程中的某些部分包含了这些图的细节信息的页面链接。而且每个部分都有一个小转载 2011-05-09 19:29:00 · 1088 阅读 · 0 评论 -
[ZZ]中缀表达式转换成前缀表达式和后缀表达式
<br />原文链接;http://blog.youkuaiyun.com/glldc/archive/2007/10/10/1818787.aspx<br /> <br />35,15,+,80,70,-,*,20,/ //后缀表达方式<br /><br />(((35+15)*(80-70))/20)=25 //中缀表达方式 <br /><br />/,*,+,35,15,-,80,70, 20 //前缀表达方式 <br /><br />人的转载 2011-05-09 18:37:00 · 701 阅读 · 0 评论 -
[ZZ]重载赋值运算符与拷贝构造函数的区别
<br />比较运算符重载函数与拷贝构造函数的区别<br /> <br />原文链接:http://blog.sina.com.cn/s/blog_4c98b9600100api4.html<br />#include <iostream><br />using namespace std;<br />#include <cstring><br />class Namelist<br />{ char*name;<br /> public:<br />转载 2011-03-02 20:41:00 · 880 阅读 · 0 评论 -
[C/C++]Windows中配置g++编译环境最简单方法
[C/C++]Windows中配置g++编译环境最简单方法一般而言,windows下配置g++环境有两种思路,cygnus和Mingw,这里是采用的cygnus的g++编译器,原打算翻译一下http://www.claremontmckenna.edu/math/ALee/g++/g++.html,google了下已有一篇现成文章,于是拿来一下。翻译链接:http://blog.youkuaiyun.com/zhuxiaoyang2000/archive/2010/05/10/5573808.aspx,附带说一下,f转载 2010-08-31 16:45:00 · 21626 阅读 · 1 评论 -
[ZZ]迭代算法与递归算法
原文链接:http://hi.baidu.com/xiexiaohui/blog/item/180d8fb1cc2f135208230270.html迭代算法是用计算机解决问题的一种基本方法。它利用计算机运算速度快、适合做重复性操作的特点,让计算机对一组指令(或一定步骤)进行重复执行,在每次执行这组指令(或这些步骤)时,都从变量的原值推出它的一个新值。利用迭代算法解决问题,需要做好以下三个方面的工作: 一、确定迭代变量。在可以用迭代算法解决的问题中,至少存在一个直接或间接地不断由旧值递推出新值的变量,这个变转载 2010-09-17 10:41:00 · 643 阅读 · 0 评论 -
[ZZ]深入了解scanf()/getchar()和gets()等函数
原文链接:http://dev.firnow.com/course/6_system/linux/linuxjq/20100113/190113.html| 问题描述一:(分析scanf()和getchar()读取字符) |---------------------------------------------------- scanf(), getchar()等都是标准输入函数,一般人都会觉得这几个函数非常简单,没什么特殊的。但是有时候却就是因为使用这些函数除了问题,却找不出其中的原因。下面先转载 2010-10-22 16:55:00 · 542 阅读 · 0 评论 -
[ZZ]浮点数的存储格式
<br />原文链接:http://blog.youkuaiyun.com/wuna66320/archive/2007/07/15/1691734.aspx<br /> <br /><br /> C语言和C#语言中,对于浮点类型的数据采用单精度类型(float)和双精度类型(double)来存储,float数据占用32bit, double数据占用64bit,我们在声明一个变量float f= 2.25f的时候,是如何分配内存的呢?如果胡乱分配,那世界岂不是乱套了么,其实不论是float还是double在存储方式上都转载 2010-12-16 15:44:00 · 738 阅读 · 0 评论 -
[ZZ]如何判断有向图是否成环
<br /> 如何判断有向图是否成环<br />原文链接:http://blog.youkuaiyun.com/nomad2/archive/2007/04/10/1559664.aspx<br />(1)如何判断一个图是不是含有环?<br />a. DFS,出现返回边则有环。<br />b. 拓扑排序,若所有的顶点都出现在拓扑排序中,则不出现环。<br />(2)拓扑排序<br />a.什么是偏序,全序?from:<br />http://www.programfan.com/club/showbbs.asp?id=转载 2010-10-29 00:45:00 · 3985 阅读 · 0 评论 -
[ZZ]堆和栈的区别
<br />堆和栈的区别<br />一、预备知识—程序的内存分配一个由c/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。3、全局区(静态区)(static)—,全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一转载 2010-10-29 00:47:00 · 569 阅读 · 0 评论 -
[ZZ]C语言中的static关键字总结
<br /><br />一、c程序存储空间布局<br />C程序一直由下列部分组成:<br /> 1)正文段——CPU执行的机器指令部分;一个程序只有一个副本;只读,防止程序由于意外事故而修改自身指令;<br /> 2)初始化数据段(数据段)——在程序中所有赋了初值的全局变量,存放在这里。<br /> 3)非初始化数据段(bss段)——在程序中没有初始化的全局变量;内核将此段初始化为0。<br /> 4)栈——增长方向:自顶向下增长;自动变量以及每次函数调转载 2010-11-25 20:05:00 · 529 阅读 · 0 评论 -
[ZZ] VC++6.0调试篇:内存断点
<br />原文链接:http://blog.youkuaiyun.com/coding_hello/archive/2008/03/08/2157908.aspx<br /> 经常有人问我关于内存断点的问题,刚才看帖又看到一个哥们问起这事。干脆就写一篇简单教程吧。<br /> 翻出了一个快排的程序。初始化了一个待排序数组,这时候如果我想看看arr[0]这个内存单元的值是何时开始变化的,那么就可以在这个内存地址直接下数据断点。打开Edit-->Breakpoints菜单,出现Breakpoint转载 2011-02-28 16:12:00 · 702 阅读 · 0 评论 -
[Tools]使用vim武装OPNET文档编辑器
=====================================================================Filename:[OPNET]使用vim武装OPNET文档编辑器Version:V1.0.0Date:3/8/2010Author:S.C.Leon Copyright: 本文可在非商业目的下署名传播和复制。对于商业目的下对本文的任何行为需经作者同意。联系方式原创 2010-05-05 14:34:00 · 1864 阅读 · 1 评论