
编程C/C++
文章平均质量分 63
kingnightdream
iOS developer ,and have interested in webview , javascript, android,server
展开
-
public、protected、private在C++和Java中的应用及区别
Java中这个三个保留字用来修饰类的数据成员和成员函数,以及类本身,而C++中修饰类的数据成员和成员函数,以及类的继承,但不用来修饰类本身。◆ C++中应用: 1.Public, Private, and Protected 的成员如果使用 class 关键字来定义类,那么定义在第一个访问标号前的任何成员都隐式指定为 private;如果使用 struct 关键字,那么这些成员都是 pu转载 2009-08-04 17:33:00 · 4680 阅读 · 1 评论 -
关于项目算法的思考
开始时间 2011.101、目前情况采用二分插入排序,时间复杂度nlogn,目前采用结构体方式,如struct RoomNo_R{int data;int index;};index是按写入顺序加1,排序时按结构体整体调换,这样通过index可以再主文件中找到所有数据,但是排序后,数据移动,需要回写文件,写文件的IO次数较多,对于系统IO操作较慢的,这种无法接受原创 2012-01-20 19:57:01 · 557 阅读 · 0 评论 -
Valgrind用户手册(二)
启动方式: valgrind [valgrind-options] your-prog [your-prog-options]--gen-suppressions=yes 当Valgrind检测到系统库函数错误时,屏蔽此类错误-v ,--verbose获得详细信息必须调用Valgrind执行真正的可执行文件,而非shell或Perl的脚本文件Valgrind输出三种方式翻译 2011-12-16 16:46:32 · 2947 阅读 · 0 评论 -
两个C++编译错误及解决办法--does not name a type和field `XX' has incomplete type
编译错误一:XX does not name a type 编译错误二:field `XX has incomplete type 编译错误一:XX does not name a type, 中文意思为“XX没有命名一个类型“拿个例子来讲,如果两个类定义如下:class B{public:B(){}~B(){}private:A a;};class A{public:A()转载 2010-03-17 09:27:00 · 2142 阅读 · 0 评论 -
用C语言实现Ping程序功能
大部分人用ping命令只是作为查看另一个系统的网络连接是否正常的一种简单方法。在这篇文章中,作者将介绍如何用C语言编写一个模拟ping命令功能的程序。 ping命令是用来查看网络上另一个主机系统的网络连接是否正常的一个工具。ping命令的工作原理是:向网络上的另一个主机系统发送ICMP报文,如果指定系统得到了报文,它将把报文一模一样地传回给发送者,这有点象潜水艇声纳系统中使用的发声装置。 例如,在转载 2009-12-09 11:15:00 · 1092 阅读 · 0 评论 -
用枚举定义有意义的数组下标
在开发中,经常会用到一些数组,它里面存放一定数量(已知,不是太多)的特定元素。在使用数字表示的数组下标访问数组中元素的时候,根本不知道该元素是否是需要的那个元素,而且使代码可读性降低,甚至还会出现下标越界的危险。 比如,现在有如下的继承体系:class CShape;class CSquare : public CShape;class CRectangle : public CS转载 2009-11-26 10:09:00 · 839 阅读 · 0 评论 -
运算转换符static_cast,const_cast,reinterpret_cast,dynamic_cast之间的区别
运算转换符static_cast,const_cast,reinterpret_cast,dynamic_cast之间的区别 1 static_cast运算符 可以这样说:在可以适用使用标准转换运算符的地方都可以适用static_cast运算符。 其语法如下: valueOfTargetType=static_cast(valueofSourceType); 例如转载 2009-10-26 15:20:00 · 1043 阅读 · 0 评论 -
this指针
一个对象的this指针并不是对象本身的一部分,不会影响sizeof(“对象”)的结果。this作用域是在类内部,当在类的非静态成员函数中访问类的非静态成员的时候,编译器会自动将对象本身的地址作为一个隐含参数传递给函数。也就是说,即使你没有写上this指针,编译器在编译的时候也是加上 this的,它作为非静态成员函数的隐含形参,对各成员的访问均通过this进行。原创 2009-08-27 10:49:00 · 621 阅读 · 0 评论 -
实时程序设计中代码的优化
在嵌入式的系统开发中,出于对低价产品的需求, 硬件的设计者需要提供刚好足够的存储器和完成工作的处理能力。所以在嵌入式软件设计的最后一个阶段则变成了对代码的优化。代码优化的目标是体积小和速度快,可以从算法、数据和指令流三方面来考虑。3.1 算法优化大多数情况下,速度同内存(或者是性能,比如说压缩性能)是不可兼得的。目前程序加速的常用算法一个大方面就是利用查表来避免计算(比如在jpg有huffman码转载 2009-08-14 15:58:00 · 655 阅读 · 0 评论 -
由Typedef引发的问题
由Typedef引发的问题转载自:http://blog.pfan.cn/asun/11983.htmltypedef用来声明一个别名,typedef后面的语法,是一个声明。本来笔者以为这里不会产生什么误解的,但结果却出乎意料,产生误解的人不在少数。罪魁祸首又是那些害人的教材。在这些教材中介绍typedef的时候通常会写出如下形式: typedef int PARA; 这种形式跟#de转载 2009-08-14 14:34:00 · 709 阅读 · 0 评论 -
C99结构体指定初始化
C99结构体指定初始化文章出处:http://www.diybl.com/course/3_program/c++/cppsl/2008713/133042.html 在阅读GNU/Linux内核代码时,我们会遇到一种特殊的结构初始化方式。该方式是某些C教材(如谭二版、K&R二版)中没有介绍过的。这种方式称为指定初始化(designated initializer)。下面我们看一个转载 2009-08-13 16:19:00 · 3618 阅读 · 0 评论 -
c/字符串,字符转数字,数字转字符
在C/C++语言中没有专门的字符串变量,通常用字符数组来存放字符串。字符串是以“”作为结束符。C/C++提供了丰富的字符串处理函数,下面列出了几个最常用的函数。 ● 字符串输出函数puts。 ● 字符串输出函数gets。 ● 字符串连接函数strcat。 ● 字符串复制函数strcpy。 ● 测字符串长度函数strlen。字符串是面试的重点考查部分的相关知识,通过转载 2012-04-16 14:23:23 · 1652 阅读 · 0 评论