自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

chenzhen1213的专栏

知识沉淀存储

  • 博客(66)
  • 资源 (1)
  • 问答 (1)
  • 收藏
  • 关注

原创 无类别域间路由 CIDR

CIDR是开发用于帮助减缓IP地址和路由表增大问题的一项拘束。CIDR的基本思想是取消IP地址的分类结构,将多个地址块聚合在一起生成一个更大的网络,以包含更多的主机。CIDR支持路由聚合,能够将路由表中的血多路由条目合并为更少的数目,一次可以限制路由器中路由表的增大,减少路由通告。ISP常用这样的方法给客户分配地址,ISP提供给客户1个块类似这样192.168.10.32/28,这排数

2014-11-28 14:41:19 1430

原创 IP分配

我们的机器子网掩码一般都为255.255.255.01.子网掩码:一个32位地址,用于屏蔽IP地址的一部分以区别网络标识和主机标识,并说明该IP地址是在局域网上,还是远程网上。2.确定子网掩码数:用于子网掩码的位数决定于可能的子网数目和每个子网的主机数目。在定义子网掩码前,必须弄清楚本来使用的子网数和主机数目。3.定义子网掩码的步骤(1)确定哪些组地址归我们使用,如我们申请到的网络

2014-11-28 09:25:22 412

转载 WaitForSingleObject(3)

这里你就要创建一个对象,这个对象有两个状态,我们约定,如果一个线程要写入文件之前就把这个对象状态变成0,写完之后把它变回1,那么另一个线程在写文件之前只要检测这个对象是不是为0就可以确定文件有没有被另一个线程在写入了。检测的过程就用WaitForSingleObject来操作,如果为1,WaitForSingleObject就和没这句话一样立刻执行下去了,如果那个对象是个0,那么WaitForSi

2014-11-27 15:26:53 425

转载 WINAPI 函数 WaitForSingleObject(2)

WaitForSingleObject(hMutex,INFINITE);hMutex 为已创建的 互斥对象的句柄,一旦互斥对象处于有信号状态,则该函数返回。如果互斥对象始终处于无信号状态,即未通知状态,则函数一直等待。这个对象有两个状态比如我们称0和1,有信号和无信号就是相对的两个状态,你就认为一个状态是0另一个状态是1。在程序里如果加了WaitForSingleObject,那么程

2014-11-27 15:26:28 570

转载 WINAPI 函数 WaitForSingleObject

DWORD WaitForSingleObject(HANDLE hObject, DWORD dwMilliseconds);当线程调用该函数时,第一个参数hObject标识一个能够支持被通知/未通知的内核对象(前面列出的任何一种对象都适用)。第二个参数dwMilliseconds允许该线程指明,为了等待该对象变为已通知状态,它将等待多长时间。调用下面这个函数将告诉系统,调用函数准备

2014-11-27 14:58:45 587

转载 near far(2)

在80286以前的微处理器(CPU)组成的确16位机上,Windows操作系统(包括DOS)对于内存是分段使用的(分段内存模式,Segment   Memory   Mode)。运行在这些16位CPU微机上的Windows(Windows   1.0-3.1)被称为“Win16”。从80386开始的32位CPU开始,为了兼容,也采用上述分段内存模式,这就导致了near(short)、 far(lo

2014-11-27 14:48:02 390

转载 far near指针

关键字near和far受目标计算机体系结构的影响。目前编程中使用不多。       near关键字创建一个指向可寻址内存低端部分的目标指针。这些指针占用内存的单一字节,并且他们能够指向的内存单元被限制到256个位置,通常是在 0x0000~0x00ff范围中。       int near * ptr;       far关键字创建一个能够指向内存中任何数据的指针:       char

2014-11-27 14:42:20 447

转载 DWORD WINAPI

DWORD WINAPI Zhaa(LPVOID PP) 查看WINAPI的定义,它是这样定义的#define WINAPI _stdcall可以发现CALLBACK也是这样定义的_stdcall规定了编译时的一些选项WINAPI是一个宏,所代表的符号是__stdcall, 函数名前加上这个符号表示这个函数的调用约定是标准调用约定,windows API函数采用这种调用约定。

2014-11-27 14:23:18 19275

转载 c++ BYTE、WORD与DWORD类型

在Visual C++ 6.0中,BYTE与WORD,DWORD本质上都是一种无符号整型,它们在WINDEF.H中被定义,定义如下:typedef unsigned char       BYTE;typedef unsigned short      WORD;typedef unsigned long       DWORD;               也就是说B

2014-11-27 14:15:35 1326

原创 C标准中的一些预定义的宏

_LINE_:当前源代码的行号,为整型常量_FILE_:当前编译程序文件的名称,为字符串,包含了详细路径_DATE_:编译程序文件日期,为字符串(”MM DD YYYY “形式,如”Jan  19   1993“)_TIME_:编译程序文件时间,为字符串(”行号:mm:ss“形式 ,如”08:33:23“)_STDC_:ANSI C 标志,整型常量1.,说明此程序兼容ANSI C标

2014-11-27 14:14:36 511

原创 VC项目文件说明

.opt 工程关于开发环境的参数文件。如工具条位置等信息; .aps (AppStudio File),资源辅助文件,二进制格式,一般不用去管他. .clw ClassWizard信息文件,实际上是INI文件的格式,有兴趣可以研究一下.有时候ClassWizard出问题,手工修改CLW文件可以解决.如果此文件不存在的话,每次用ClassWizard的时候绘提示你是否重建. .dsp (Dev

2014-11-27 11:39:47 303

原创 zuchengyuanli

1.在某计算机系统中,各个主设备得到总线使用权的机会基本相等,则该系统采用的总线判优控制方式可能是  ② ③①链式查询方式  ②计数器定时查询方式   ③独立请求方式答:1)链式查询方式是越靠近总线仲裁机构的主设备优先级越高,且其优先级顺序永远固定不变。    2)计数器定时查询方式有2神情况,如果计数器永远都是从0开始,那么设备的优先级就按0.1,2,„,n的顺序降序排列,而且固定不

2014-11-26 15:27:17 551

原创 多维数组的初始化

严格地说,C++没有多维数组,所指的多维数组其实就是数组的数组。如果数组的元素又是数组,则称为二维数组,其每一维对应一个下标。可以用花括号括起来的初始化式列表来初始化多维数组的元素。对于多维数组的没一行,再用花括号指定其元素的初始化式。int  ia[3][4]    =   {{0,1,2,3} , {4,,5,6,7}  ,  {8,9,10,11} };    //其中标志每一行

2014-11-25 17:01:45 1371

原创 新旧代码兼容

混合使用标准库类string和C风格字符串可以用字符串字面值初始化

2014-11-25 16:38:42 524

原创 动态分配空数组

C++虽然不允许定义长度为0的数组变量,但

2014-11-25 16:22:14 543

原创 初始化动态分配的数组

动态分配数组时,如果数组元素具有类类型,

2014-11-25 15:36:57 1860

原创 创建动态数组

数组类型的变量有三个重要的限制:

2014-11-25 15:18:41 399

原创 null

在使用处理C风格字符串的标准库

2014-11-21 17:35:07 436

原创 操纵C 风格字符串标准库函数

这些标准库函数不会检查其字符串参数

2014-11-21 17:07:20 428

原创 C风格字符串

尽管C++支持,C风格字符串常常带来许多错误,

2014-11-21 16:26:32 338

原创 指向const对象的const指针 typedef 理解复杂的const类型的声明

const  double  pi   =  3.141592;const   double  *const pi_ptr  =  π  //

2014-11-21 16:23:33 458

原创 修改const指针所指向的值

dval  =  3.14159;*cptr = 3.14159;double  *ptr  =  &dval

2014-11-21 15:33:43 2455

原创 指针和const限定符

1.指向const对象的指针如果指针指向const对象,

2014-11-18 15:42:49 448 1

原创 C++超出末端指针

vector类型提供的end操作将返回指向超出vector末端位置的一个迭代器,这个迭代器常用作哨兵,来控制处理vector中元素的循环。C++允许计算机数组或对象的超出末端的地址,但不允许对此地址进行解引用操作。而计算数组超出末端位置之后或数组首地址之前的地址都是不合法的由end返回的迭代器标志了该vector对象的”超出末端位置“,不能进行解引用运算,但是可将它与别的迭代器比较,从而判

2014-11-18 15:41:32 893

原创 指针的算术操作

指针的算术操作只有在原指针和计算出来的新指针都

2014-11-17 17:36:58 541

原创 指针相关操作 与引用比较 指向指针的指针

指针提供间接操纵其所指向对象的功能

2014-11-17 17:36:18 377

原创 指针初始化 赋值 void*指针

除了使用数值0火灾编译时值为0的const量外,还可以用C++从C语言继承下来的预处理器变量NULL,该变量在cstdlib头文件中定义,其值为0。如果在代码中使用了这个预处理器变量,则编译时会自动被数值0替换。因此,把指针初始化为NULL等效于初始化为0值。注:预处理器变量不是在std命名空间中定义的,因此其名字为NULL,而非 std::NULL除两种例外情况外,指针只能初始化或赋

2014-11-17 17:06:46 5309

原创 指针操作

避免使用未初始化的指针(许多运行时错误)

2014-11-17 16:10:21 360

原创 指针定义 初始化

指针和数组容易产生不可预料的错误,其中一部分时概念上的问题:指针用于低级操作,容易产生与繁琐细节相关的错误,其他错误则源于使用指针的语法规则,特别是声明指针的语法。许多有用的程序都可不使用数组或指针实现,现代C++程序采用vector类型和迭代器取代一般的数组,使用string类型取代C风格字符串。每个指针都有一个与之关联的数据类型,该数据类型决定了指针所指向的对象的类型。eg:一个i

2014-11-17 16:09:44 1748

原创 数组操作 指针

数组一旦定义,就不允许再添加新元素。如果必须在数组中添加新元素,

2014-11-17 15:32:08 445

原创 数组

如果没有 显式提供元素初值,则数组元素会像普通变量一样初始化:1.在

2014-11-17 15:03:45 427

原创 数组和指针

C++提供了两种类似于vector和迭代器类型的低级复合类型--数组和指针。与

2014-11-17 14:42:55 360

原创 第三章 术语2

10.size:由库类型string、vector和bitset定义的函数,分别用于返回此三个类型的字符个数,元素个数,

2014-11-17 12:15:35 346

原创 static

C++中的static面向过程程序设计的中的static

2014-11-14 16:51:57 326 2

原创 第三章小结 术语

C++标准库定义了几种更高级的抽象数据类型,包括string和ce

2014-11-13 12:16:52 405

原创 bitset对象上的操作

多种bitset操作用来测试或设置

2014-11-13 11:39:51 651

原创 初始化

初始化bitset对象方法bitset  b; //b有n位,每位都为0bitset  b(u); //b是unsigned  long型u的一副本bitset   b(s); //b是string对象s中含有的位串的副本bitset   b(s,pos,n); //b是s中从位置pos开始的n个位的副本

2014-11-13 11:14:24 403

原创 算术操作 标准库bitset类型

1.对迭代器对象加上或减去一个整型值iter+你,iter-n,将产生一个新的迭代器,其位置在iter所指元素之前(加)或之后(减)n个元素的位置。加上或减去的值的类型应该是vector的size_type或difference_type类型。2.iter1-iter2用来计算两个迭代器对象的距离,该距离是名为difference_type的signed类型的值。difference_type

2014-11-12 14:59:46 400

原创 迭代器比较 const_iterator

用==或!=操作符来比较两个迭代器,如果两个迭代器

2014-11-12 14:22:04 1305

原创 解引用 自增

迭代器类型定义了一些操作来获取迭代器所指向的元素,并允许程序员将迭代器从一个元素移动到另一个元素。迭代器可使用解引用操作符(*)来访问迭代器所指向的元素。假设iter指向vector对象ivec的第一个元素,那么*iter和ivec[0]就是指向同一个元素。迭代器使用自增操作符向前移动迭代器指向容器中下一个元素。从逻辑上说,迭代器的自增操作和int类型的对象自增操作类似。int型值

2014-11-11 17:38:29 617

数据结构算法实现(严蔚敏版配套实现程序)

数据结构算法实现(严蔚敏版配套实现程序)

2014-04-08

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

TA关注的人

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