c/c++ learning
ab198604
这个作者很懒,什么都没留下…
展开
-
C++基本常识
<br />1 c++的类最好定义在单独的头文件中,头文件名称为类名。<br /> 如要定义一个名为IntArray的类, 最好在头文件IntArray.h中定义class IntArray{};<br />2 类中的成员函数必须定义在单独的.cpp文件中,文件名为类名。<br /> 如类IntArray中定义了5个成员函数,那么这五个成员函数的具体实现必须定义在IntArray.cpp文件中。<br /> <br />以上只是在编写工程文件时需要注意的一些地方。原创 2010-06-21 14:22:00 · 638 阅读 · 0 评论 -
C++回顾之内联函数及新类型转换运算符
关于内联函数及类型转换运算符说明,const_cast, static_cast等原创 2014-02-05 20:39:57 · 1330 阅读 · 0 评论 -
C++回顾之成员函数重载、类与结构体、this指针
关于内联成员函数,成员函数重载,类与结构体的区别,以及this指针的原理原创 2014-02-06 09:44:44 · 2161 阅读 · 0 评论 -
C++回顾之构造函数与析造函数
构造函数,默认构造函数,析构函数,析构函数与delete等。原创 2014-02-06 13:56:37 · 1593 阅读 · 0 评论 -
C++回顾之前向声明、嵌套类、局部类
关于前向声明,嵌套类,局部类的使用。原创 2014-02-06 11:11:20 · 3441 阅读 · 0 评论 -
C++回顾之类数据成员的初始化
构造函数初始化列表,类中的普通对象成员初始化,const成员及引用成员的初始化方法。原创 2014-02-06 14:46:54 · 2959 阅读 · 8 评论 -
C++回顾之拷贝构造函数
关于拷贝构造函数的使用方法及调用场景分析。原创 2014-02-07 20:14:06 · 1099 阅读 · 0 评论 -
C++回顾之static成员、static成员函数及类对象大小计算
static静态数据成员,static静态成员函数,static静态常量数据成员,类大小的计算原则等原创 2014-02-08 10:14:37 · 3670 阅读 · 0 评论 -
C++回顾之const对象、const成员函数、mutable类型
总结const的各种用法,主要讲述const对象,及const 成员函数,还有mutable修饰的数据成员原创 2014-02-08 11:02:34 · 4241 阅读 · 0 评论 -
C++回顾之前置++、后置++、不等号!及赋值运算符重载
关于前置++,后置++,非(不等号)运算符及赋值运算符的重载原创 2014-02-24 16:44:06 · 11940 阅读 · 1 评论 -
C++回顾之深浅拷贝、禁止拷贝、空类的默认成员
C++的深拷贝与浅拷贝,关于禁止拷贝,以及空类的大小,系统提供的空类的默认成员函数原创 2014-02-12 18:36:43 · 3687 阅读 · 1 评论 -
C++回顾之static用法总结、对象的存储,作用域与生存期
关于static用法总结,对象的存储,作用域与生存期原创 2014-02-13 15:15:37 · 2325 阅读 · 0 评论 -
C++回顾之static与单例模式
关于static与单例模式原创 2014-02-14 13:42:28 · 9241 阅读 · 2 评论 -
C++回顾之友元
友元,友元函数与友元类原创 2014-02-14 17:13:52 · 1329 阅读 · 0 评论 -
C++回顾之运算符重载
关于运算符重载原创 2014-02-19 10:46:31 · 1400 阅读 · 0 评论 -
C++回顾之引用
下面讨论引用的相关内容: 1 引用的概念 2 const引用 3 引用作为参数传递 4 引用作为函数返回值 5 引用与指针的区别原创 2014-02-05 17:26:27 · 1126 阅读 · 0 评论 -
C++回顾之开篇(bool, const限定符,#define, 结构内存对齐)
关于bool类型、const限定符使用、const与#define定义常变量的区别、结构体内存对齐的规则原创 2014-01-25 09:45:51 · 1944 阅读 · 0 评论 -
国外程序员推荐:每个程序员都应读的书
本文转自:http://blog.csdn.net/jye13/article/details/8252293如果能时光倒流,回到过去,作为一个开发人员,你可以告诉自己在职业生涯初期应该读一本,你会选择哪本书呢?我希望这个书单列表内容丰富,可以涵盖很多东西。”很多程序员响应,他们在推荐时也写下自己的评语。以前就有国内网友介绍这个程序员书单,不过都是推荐数 Top 10的书。其实转载 2012-12-18 09:09:24 · 1134 阅读 · 0 评论 -
mysql操作基本命令
<br />mysql命令行常用命令<br />第一招、mysql服务的启动和停止<br />net stop mysql<br />net start mysql<br />第二招、登陆mysql<br />语法如下: mysql -u用户名 -p用户密码<br />键入命令mysql -uroot -p, 回车后提示你输入密码,输入12345,然后回车即可进入到mysql中了,mysql的提示符是:<br />mysql><br />注意,如果是连接到另外的机器上,则需要加入原创 2010-08-23 14:36:00 · 809 阅读 · 0 评论 -
C语言中__FILE__ 和__LINE__ 等宏的含义
<br />int main(int argc, char *argv[])<br /> {<br /> printf( "file=%s/nline=%s ",__FILE__,__LINE__); <br /> return (0);<br /> } <br /> 另外,__FILE__和__LINE__是C语言中的预定义宏。<br /> 在 C99 标准的 6.10.8原创 2010-08-31 16:19:00 · 2398 阅读 · 0 评论 -
关于如何将浮点类型的数据写入或读出文件的操作
<br />写入操作用write(fd, vec_info, 26000000);<br />注:vec_info为一个内存块的首地址,此内存块共26000000字节,可以分解成13Byte*200万条记录,每条记录就是一个结构体,<br />此内存块的首地址就是第一条记录的地址,结构体内容如下:<br />typedef struct record{<br /> uchar mac_addr[4];<br /> float balance;<br /> int time;<br />原创 2010-09-20 16:09:00 · 3375 阅读 · 0 评论 -
如何防止多处使用extern关键字造成程序混乱
<br /> 这几天我在研读uc/os II 源码时发现它提供的程序设计方法能非常有效地解决上述标题的难题。它主要是通过#ifdef 预处理指令来实现的。<br /> 先说说extern能造成什么混乱吧!<br /> 假如现在有5个文件,分别为:main.c , hello.c , flow.c, etc.c , include.h.<br /> 如果在main.c中定义一些全局变量,如下:<br /> char obu_channel<b原创 2010-09-28 14:29:00 · 1937 阅读 · 0 评论 -
利用linux信号机制调试段错误(Segment fault)
<br /> 在实际开发过程中,大家可能会遇到段错误的问题,虽然是个老问题,但是其带来的隐患是极大的,只要出现一次,程序立即崩溃中止。如果程序运行在PC中,segment fault的调试相对比较方便,因为可以通过串口、显示器可以查看消息,只要程序运行,通过GDB调试工具即可捕捉产生segment fault的具体原因。但是不知大家有没有想法,当程序运行在嵌入式设备上时,你所面临资源的缺乏,你没有串口打印信息,没有显示器可查看,你不知道程序运行的状态,如果程序的产生segment falut这原创 2011-01-26 11:45:00 · 7672 阅读 · 1 评论 -
段错误bug的调试
<br />我们在用C/C++语言写程序的时侯,内存管理的绝大部分工作都是需要我们来做的。实际上,内存管理是一个比较繁琐的工作,无论你多高明,经验多丰富,难免会在此处犯些小错误,而通常这些错误又是那么的浅显而易于消除。但是手工“除虫”(debug),往往是效率低下且让人厌烦的,本文将就"段错误"这个内存访问越界的错误谈谈如何快速定位这些"段错误"的语句。<br />下面将就以下的一个存在段错误的程序介绍几种调试方法: 1 dummy_function (void)<br />转载 2011-01-26 09:25:00 · 2494 阅读 · 0 评论 -
FatFs文件系统的移植
很久没有更新过博客的东西了,忙,真的很忙,前两天移植了一个文件系统,感觉还八错,一来怕自己忘了,二来可以给更多的朋友参考参考,让大家少走一些弯路,所以就抽空记下来了。 因为需要,又不想自己写,所以就移植了一个文件系统。 说下我的硬件和开发工具:接成 TRUE IDE 模式下的CF卡(也就是相当于一块硬盘了),三星S3C2440的ARM9,开发工具是很老很老的D版的ADS转载 2012-02-27 17:22:02 · 956 阅读 · 0 评论 -
面向对象程序设计之体会
六年前,我刚热恋“面向对象”(Object-Oriented)时,一口气记住了近十个定义。六年后,我从几十万行程序中滚爬出来准备写点心得体会时,却无法解释什么是“面向对象”,就象说不清楚什么是数学那样。软件工程中的时髦术语“面向对象分析”和“面向对象设计”,通常是针对“需求分析”和“系统设计”环节的。“面向对象”有几大学派,就象如来佛、上帝和真主用各自的方式定义了这个世界,并留下一堆经书来解释这个转载 2012-03-03 12:26:36 · 1722 阅读 · 0 评论 -
模块化C代码与UML对象模型之间的映射(1)——类、单例类及实用类
背景信息日子一天天过去,业余时间不多,为了避免生活华而不实,碌碌无为,我计划抽空把工作和学习中散落在笔记本和书本某些角落的总结整理出来,放到博客上备忘,同时也希望有机会和技术圈的朋友交流,增长自己的见识,我的qq:18005491。主题:《面向对象的模块化C编程》计划提纲:《模块化C代码与UML类图、时序图、状态图的映射》《理解模块化》《UML图示辅助C程序设计是否必要》转载 2012-03-03 12:22:09 · 1094 阅读 · 0 评论 -
模块化C代码与UML对象模型之间的映射(3)——UML关系
下图是从StarUML工具界面截下来的,从上往下依次表示UML的关系:关联、单向关联、聚合、组合、泛化、依赖和实现。图3 UML关系集 3.1 关联、聚合、组合 关联(association)是一种结构关系,它指明一个事物的对象与另一个事物的对象间的联系。聚合和组合是更强的关联,表示整体和部分的关系。聚合的整体不负责部分的生命期,组合的整体负责部分的生命期。关联关系需根转载 2012-03-19 14:06:57 · 1477 阅读 · 0 评论 -
模块化C代码与UML对象模型之间的映射(4)——常见问题小结
下面是零零散散做的一些笔记。1、为什么说双向关联往往是设计的坏味道?从可复用性的角度来看,如果两个类间的关系是双向的,则每个类都需要知道对方,因此两者都不能复用。说明单向关联有助于标识可复用的类。 2、聚合组合方式会遇到对象生命期管理的问题,怎么解决?例如,A_Create(B_Create()->IA, B),即类B实现接口IA供类A内部使用,那么IA的生命期该由谁来管理呢?转载 2012-03-19 14:07:32 · 759 阅读 · 0 评论 -
模块化C代码与UML对象模型之间的映射(2)——抽象类与继承
今天继续写模块化C代码与UML类图的转换,所举例子也许粗糙,主要是演示一下思路,时间允许的话我会尽量按正式的产品开发质量要求来完善代码示例。1.4 抽象类与继承抽象类是指继承关系树中位于树枝节点的用于被继承的类,如图1.5所示。抽象类具有以下特点:(1)不能被实例化,所以没有Create或GetInstance方法;(2)抽象类中方法可以没有实现体,称为抽象方法,它必须被子类重写。转载 2012-03-19 14:06:06 · 1028 阅读 · 0 评论 -
nginx源代码分析
Nginx可以开启多个进程,每个进程拥有最大上限128个子线程以及一定的可用连接数。如果你希望使用线程可以在配置文件中设置worker_threads这个参数,但这个参数在Nginx官方手册上没有。只有通过阅读源代码才看到。最大客户端连接数等于进程数与连接数的乘积,连接是在主进程中初始化的,一开始所有连接处于空闲状态。每一个客户端请求进来以后会通过事件处理机制,在Linux是Epoll,在Fr转载 2012-05-19 23:14:36 · 742 阅读 · 0 评论 -
LMAX架构解决大并发
Martin Fowler最近的一篇文章:LMAX架构。LMAX是一种新型零售金融交易平台,它能够以很低的延迟(latency)产生大量交易(吞吐量). 这个系统是建立在JVM平台上,核心是一个业务逻辑处理器,它能够在一个线程里每秒处理6百万订单. 业务逻辑处理器完全是运行在内存中(in-memory),使用事件源驱动方式(event sourcing). 业务逻辑处理器的核心是Disru转载 2012-10-18 14:26:02 · 1283 阅读 · 0 评论 -
C++虚函数实现原理分析
虚函数的定义要遵循以下重要规则: 1.如果虚函数在基类与派生类中出现,仅仅是名字相同,而形式参数不同,或者是返回类型不同,那么即使加上了virtual关键字,也是不会进行滞后联编的。 2.只有类的成员函数才能说明为虚函数,因为虚函数仅适合用与有继承关系的类对象,所以普通函数不能说明为虚函数。 3.静态成员函数不能是虚函数,因为静态成员函数的特点是不受限制于某个对象。转载 2012-11-13 10:05:52 · 4465 阅读 · 1 评论