自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

qianlongbatian2的专栏

回首云开枫映色,不见当年紫衣深

  • 博客(31)
  • 资源 (2)
  • 收藏
  • 关注

原创 c++ 容器与算法

一 泛型    这些算法可作用于各种不同的容器类型,而这些容器又可以容纳多种不同类型的元素。   1.1 顺序容器          将单一类型的元素聚集起来成为容器,然后根据位置来存储和访问这些元素,这就是顺序容器。    (1)vector list,deque 三种类型。     (2)容器适配器----根据原始的容器类型所提供的操作,通过定义新的操作接口,来适应基础的容

2014-01-14 20:21:29 508

原创 C++ day04 类型转换

一. 显示类型转换1.命名的强制类型转换符号cast-name(expression)reinterpret_cast  通常为操作数的位模式提供较低层次的重新解释.

2013-11-05 21:01:19 538

转载 ostream类方法 重载的插入操作符 和 cout格式化

重载的      ostream类重新定义了 插入(insertion)操作符 。     插入操作符被重载,使之能够识别C++中所有的基本类型:     unsigned char            signed char     char                           short     unsigned short          in

2013-09-29 22:34:51 966

转载 C++技巧之operator操作符

这篇博文是以前很久写的,贴在我的早期一个blog中,今天google一下,发现还真有不少人转载,可惜并不注明出处。那时觉得operator比较好玩。C++有时它的确是个耐玩的东东。operator它有两种用法,一种是operator overloading(操作符重载),一种是operator casting(操作隐式转换)。1.operator overloadingC++可以通过o

2013-09-29 22:28:22 493

原创 c++ primer学习 day03

1.迭代器---是一种检查容易内元素并遍历元素的数据类型。2.每种容器类型都定义了自己的迭代器类型,如vector:vector::iterator iter;3.const_itreator对象与const的iterator对象混淆起来。声明一个const迭代器时,必须初始化迭代器。一旦被初始化,就不能改变它的值。4.bitset类---必须包含相关的头文件,处理二进制位的有序集--

2013-09-26 13:30:19 433

转载 C与C++的区别

在很大程度上,标准C++是标准C的超集.实际上,所有C程序也是C++程序,然而,两者之间有少量区别.下面简要介绍一下最重要的区别.    在C++中,民,局部变量可以在一个程序块内在任何地方声明,在C中,局部变量必须在程序块的开始部分,即在所有"操作"语句之前声明,请注意,C99标准中取消了这种限制.    在C中,按如下方式声明的函数没有对函数参数进行任何说明;    int fun

2013-09-25 11:56:35 432

转载 使用C++模板的优点和缺点

作为C++语言的新组成部分,模板引入了基于通用编程的概念。通用编程是一种无须考虑特定对象的描述和发展算法的方法,因此它与具体数据结构无关。但在决定使用C++模板之前,让我们分析一下使用模板的优缺点。目的: 当被问及引入C++模板的目的时,C++的发明者Bjarne Stroustrup告诉我“这是为了支持类型安全、类容器的有效性和算法的通用性”。优势和劣势: 使用模板有很多原因,最主要的为

2013-09-25 11:43:24 764

原创 COM学习 第三天

1.生命期控制---IUnknown的AddRef和Release的作用就是给客户提供一种让它指示何时处理完一个接口的手段。AddRef和Release实现的是一种名为引用计数的内存管理计数。引用计数是使组件能够自己将自己删除的最简单同时也是效率最高的办法。2.当客户从组件取得一个接口时,此引用计数值将增1;当客户使用完某个接口后,组件的引用技术值将减1.当引用计数值为0时,组件即可将

2013-09-24 12:15:18 484

原创 COM计数内幕 第二天

1.COM接口在C++中使用纯虚抽象基类实现的。2.一个COM组件可以提供多个接口.3.一个c++类可以使用多继承来实现一个可以提供多个接口的组件。4.接口是由没有实现细节的纯虚基类实现的。5.一个系统是一系列组件的集合;每个组件提供了一个接口集;而每一个接口则包含一系列函数。6.对于一个支持多个接口的组件,接口函数的名字出现冲突时经常会遇到的。此种情况下,改变某个发生冲突的函

2013-09-18 17:08:19 990

原创 UNXI网络编程 第二天

1.socket包裹函数2.errno的值只在函数发生错误时设置。把errno值存于全局变量不适合共享所有全局变量的多线程。3.netstat -rn  输出路由表,这是另一种确定接口的方法。

2013-09-18 14:21:37 661

原创 c++ primer 学习 第3天

1.标准库的头文件用括起来,非标准库的头文件用双引号" "括起来2.cerr:绑定到标准错误的ostream对象,这通常与标准输出相同的流。3.整型:表示整数,字符和布尔值得算数类型。4.

2013-09-18 14:00:11 428

转载 用GDB调试程序(二)

GDB的命令概貌———————启动gdb后,就你被带入gdb的调试环境中,就可以使用gdb的命令开始调试程序了,gdb的命令可以使用help命令来查看,如下所示:    /home/hchen> gdb    GNU gdb 5.1.1    Copyright 2002 Free Software Foundation, Inc.    GDB is free softw

2013-09-17 12:44:50 459

转载 用GDB调试程序(一)

用GDB调试程序GDB概述————GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具。或许,各位比较喜欢那种图形界面方式的,像VC、BCB等IDE的调试,但如果你是在UNIX平台下做软件,你会发现GDB这个调试工具有比VC、BCB的图形化调试器更强大的功能。所谓“寸有所长,尺有所短”就是这个道理。一般来说,GDB主要帮忙你完成下面四个方面的功能:    1、启动你的

2013-09-17 12:09:09 554

原创 c++ primer 第二天

1.查看命令获取状态    windows系统下查看状态   C:\directory> echo %ERRORLEVEL%;                                      linux 下   $echo $?2.endl:操作符,将它写入输出流时,具有输出换行的效果,并刷新与设备相关联的缓冲区。3.

2013-09-17 12:08:22 502

原创 unix 网络编程学习 day01

1.2.

2013-09-17 10:33:38 595

转载 strcmp 函数的用法 及其实现

原型:extern int strcmp(const char *s1,const char * s2);所在头文件:string.h功能:比较字符串s1和s2。一般形式:strcmp(字符串1,字符串2)说明:当s1时,返回值当s1==s2时,返回值=0当s1>s2时,返回值>0即:两个字符串自左向右逐个字符相比(按ASCII值大小相比较),直到出现不同的字符或遇

2013-09-16 22:48:09 2490

原创 strcat

strcat  原型:extern char *strcat(char *dest,char *src);  用法:#include   功能:把src所指字符串添加到dest结尾处(覆盖dest结尾处的'\0')并添加'\0'。  说明:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。  返回指向dest的指针。str

2013-09-16 20:49:21 527

原创 extern

基本解释:extern可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。此外extern也可用来进行链接指定。也就是说extern有两个作用,第一个,当它与"C"一起连用时,如: extern "C" void fun(int a, int b);则告诉编译器在编译fun这个函数名时按着C的规则去翻译相应的函数名而不是C++的,C

2013-09-16 20:30:30 533

转载 解析“extern”

解析“extern”1、 声明外部变量 现代编译器一般采用按文件编译的方式,因此在编译时,各个文件中定义的全局变量是互相透明的,也就是说,在编译时,全局变量的可见域限制在文件内部。下面举一个简单的例子。创建一个工程,里面含有A.cpp和B.cpp两个简单的C++源文件://A.cpp int i;  void main() { }

2013-09-16 20:26:30 500

转载 C++ 全局变量 静态变量 全局函数 静态函数

1. static 变量静态变量的类型 说明符是static。 静态变量当然是属于静态存储方式,但是属于静态存储方式的量不一定就是静态变量。 例如外部变量虽属于静态存储方式,但不一定是静态变量,必须由 static加以定义后才能成为静态外部变量,或称静态全局变量。2. 静态局部变量静态局部变量属于静态存储方式,它具有以下特点:(1)静态局部变量在函数内定义 它的生存期为整个

2013-09-16 20:20:17 822

转载 malloc()与calloc区别

三个函数的申明分别是: void* realloc(void* ptr, unsigned newsize); void* malloc(unsigned size); void* calloc(size_t numElements, size_t sizeOfElement); 都在stdlib.h函数库内它们的返回值都是请求系统分配的地址,如果请求失败就返回NULL

2013-09-16 20:16:39 462

转载 小写字母变为大写字母的方法

2013-09-16 20:12:19 615

转载 C语言中volatile关键字的作用

一.前言1.编译器优化介绍:由于内存访问速度远不及CPU处理速度,为提高机器整体性能,在硬件上引入硬件高速缓存Cache,加速对内存的访问。另外在现代CPU中指令的执行并不一定严格按照顺序执行,没有相关性的指令可以乱序执行,以充分利用CPU的指令流水线,提高执行速度。以上是硬件级别的优化。再看软件一级的优化:一种是在编写代码时由程序员优化,另一种是由编译器进行优化。编译器优化常用的方法有:

2013-09-16 19:20:52 536 1

转载 C++中引用和指针的区别

下面用通俗易懂的话来概述一下:指针-对于一个类型T,T*就是指向T的指针类型,也即一个T*类型的变量能够保存一个T对象的地址,而类型T是可以加一些限定词的,如const、volatile等等。见下图,所示指针的含义:引用-引用是一个对象的别名,主要用于函数参数和返回值类型,符号X&表示X类型的引用。见下图,所示引用的含义:2、指针和引用的区别首先,引

2013-09-16 18:54:06 578

转载 do{}while(0)

一直以为Linux里面,那些do{}while(0)只是为了程序的源代码看起来比较好看而已  今天听说他是有特殊作用的,在线请教,是什么作用?  ---------------------------------------------------------------   是为了解决使用宏的时候烦人的分号问题。  ------------------------------

2013-09-16 18:38:04 459

原创 c语言面试常见问题

1.a++   ++a  区别第一种情况:a=3;b=a++;运行后b=3,a=4第二种情况:a=3;b=++a;运行后b=4,a=4.2.  ~ 按位取反;“>>”代表右移运算符,就相当于“shr”。该运算符为双目运算符,结合方向为从左到右,作用是把一个整型数的所有位向右移动指定的位数,移动到右边界之外的多余二进制位会被丢弃,并从左边界移入0。

2013-09-16 18:35:08 836

原创 COM学习 day01

1.组件:实际上市一些小的二进制可执行程序,它可以给应用程序,操作系统以及其他组件提供一些服务。2.组件必须动态链接;必须隐藏其内部实现细节。3.组件必须将其实现所用的编程语言封装起来。任一客户都应能使用任一组件。4.组件必须以二进制的形式发布。如果想将实现组件的编程语言隐藏起来,那么在发布时它们必须是已被编译,连接好并且马上就可以投入使用的。5.组件必须可以在不妨碍已有用户的情况

2013-09-16 17:03:18 547

原创 windows系统 第一天

1.windows的三个主要子系统-kernel,User和GDI。2.kernel ---由KRNL386.EXE和32位元的KERNEL32.DLL实现。3.GDI---是一个图形装置介面,允许程式在频幕和印表机上显示文字和图形。

2013-09-16 16:36:23 441

转载 c++primer 学习 第一章

1.main函数是唯一被操作系统显示调用的函数。2.在大多数系统中,main函数的返回值是一个状态指示器。返回值0往往表示main函数成功执行完毕。3.微软编译器采用cl  来调用编译命令如:C:\directory> cl -GX prog1.cpp

2013-09-16 16:22:34 454

转载 linux高级编程01 内存管理

malloc怎么分配空间    malloc与new的关系    看完下面的2再回答这个问题。  2. linux对内存的结构描述    a)         /proc/${pid}/         存放进程运行时候所有的信息。程序一结束,该目录就删掉了。    b)        任何一个程序的内存空间其实分成4个基本部分。

2013-06-13 22:03:25 467

转载 Win32编程day01 学习笔记

Win32 Windows编程 1 Windows编程基础 2 Windows文字的编码 3 窗口程序 4 窗口消息 5 菜单和加速键 6 绘图 7 对话框 8 基本控件  .....一 Windows编程基础 1 Win32应用程序的基本类型    1.1 控制台程序      不需要完善的Windows窗口,可以使用DOS窗口

2013-06-13 21:10:02 512 1

ModBus RTU通讯协议与ModBus通讯协议有什么区别

ModBus RTU通讯协议与ModBus通讯协议

2013-09-17

USB总线接口开发指南[

USB总线接口开发指南[ED2000.COM

2013-05-14

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除