C++
文章平均质量分 53
志在千里
心有多大舞台就有多大!!敢为天下先!!!
展开
-
#define MAKEWORD(a, b) ((WORD)(((BYTE)(a)) | ((WORD)((BYTE)(b))) << 8))
"|" 是按位或运算符,对整型数进行二进制按位取或运算。比如 0110 0011 | 0011 0101-------------------- = 0111 0111定义MakeWord(a, b) 的含义应该是将a b合成一个字(双字节),比如 MakeWord(0xaa, 0xbb) 结果应该是0xbbaa,a在低字节,转换成BYTE只留下一字节的内容,b也留下一字节并左移做高字节,通过按位原创 2012-07-11 11:00:37 · 2200 阅读 · 0 评论 -
二分查找
二分查找1、二分查找(Binary Search) 二分查找又称折半查找,它是一种效率较高的查找方法。 二分查找要求:线性表是有序表,即表中结点按关键字有序,并且要用向量作为表的存储结构。不妨设有序表是递增有序的。2、二分查找的基本思想原创 2011-09-19 10:19:36 · 977 阅读 · 0 评论 -
TCP UDP
这里先简单的说一下TCP与UDP的区别:1。基于连接与无连接 2。对系统资源的要求(TCP较多,UDP少) 3。UDP程序结构较简单 4。流模式与数据报模式 5。TCP保证数据正确性,UDP可能丢包,TCP保证数据顺序,UDP不保证另外结合GPRS网络的情况具原创 2011-09-07 10:07:41 · 3471 阅读 · 2 评论 -
类模板:比较经典的一个就是关于双向链表的。
C++的一个独特的属性。模板:template Void swap(T& a,T& b);类模板:比较经典的一个就是关于双向链表的。template struct Node{Node (T& d):c(d),next(0),pref(0){}原创 2011-09-16 16:25:45 · 669 阅读 · 0 评论 -
vector常用操作
vector常用操作 1、创建容器 格式 vector 容器标识符; 几种初始化方法如下: vector ivec1;//空int容器 vector ivec2(10);//包含十个默认int值的容器 vector ivec3(10,2);//包含10个值原创 2011-09-16 16:24:58 · 736 阅读 · 0 评论 -
C++中的vector使用范例
C++中的vector使用范例一、概述vector是C++标准模板库中的部分内容,它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库。vector是一个容器,它能够存放各种类型的对象,简单地说,vector是一个能够存放任意类型的动态数组,可以动态改变大小。原创 2011-09-16 16:23:40 · 792 阅读 · 0 评论 -
重载,多态虚函数
初学C++,虚函数这部分感觉博大精深啊。C++正是通过虚函数实现了多态。在C++中,以virtual关键字开始的函数是虚函数,虚函数是基类希望派生类进行重新定义的函数,不希望派生类重新定义而完全继承的不要定义为虚函数。一旦函数在基类中声明为虚函数,派生类就无法改变这个事实,派生类原创 2011-09-16 16:22:24 · 928 阅读 · 0 评论 -
面向对象理解
一、传统开发方法存在问题 1.软件重用性差 重用性是指同一事物不经修改或稍加修改就可多次重复使用的性质。软件重用性是软件工程追求的目标之一。 2.软件可维护性差 软件工程强调软件的可维护性,强调文档资料的重要性,规定最终的软件产品应该由完整、一致的配置成分原创 2011-09-16 16:20:45 · 812 阅读 · 0 评论 -
CardRead.h
// CardReader.h : main header file for the CARDREADER DLL//#if !defined(AFX_CARDREADER_H__929A1DE0_0DE7_4A6A_8F23_B3E1D93E2CAD__INCLUDED原创 2011-09-16 07:11:14 · 1366 阅读 · 0 评论 -
card
// CardReader.cpp : Defines the initialization routines for the DLL.//#include "stdafx.h"#include "CardReader.h"#include "CardReader原创 2011-09-16 07:04:06 · 910 阅读 · 0 评论 -
SQL优化
索引是用于加速数据存取的数据对象,合理的使用索引可以大大降低i/o次数,从而提高数据访问性能。索引有很多种,我们主要介绍常用的几种: 为什么添加了索引后,会加快查询速度吗?1)单列索引 单列索引是基于单个列所建立的索引,比如: create inde原创 2011-09-09 10:46:51 · 1138 阅读 · 0 评论 -
多线程
如果是在用VC中想用多个线程运行同样的任务,而这些任务之间没有通讯问题和内存共享的问题,那可以用下面的模板: DWORD WINAPI TaskThreadProc(LPVOID) { // 独立任务 // ... } void RunTaskUseMulti原创 2011-09-14 16:52:41 · 637 阅读 · 0 评论 -
c讲义
一、填空与选择(本大题共40分,每小题2分) 1.C语言从源程序的书写到上机运行输出结果要经过__________四个步骤。 2.C语言的表达式与语句的区别在于__________。 3.C语句_________ (有、没有)输入、输出语句。 4.结构化程原创 2011-09-13 21:29:23 · 1278 阅读 · 0 评论 -
优先级口决
括号成员第一; //括号运算符[]() 成员运算符. -> 全体单目第二; //所有的单目运算符比如++ -- +(正) -(负) 指针运算*& 乘除余三,加减四; //这个"余"是指取余运算即% 移位五,关系六; //移位运算符:> ,关系:> =原创 2011-09-13 14:27:44 · 594 阅读 · 0 评论 -
vector
vector 有两种不同的形式,所谓的数组习惯和STL习惯; 容器一般用模板技术实现。 模板是C++语言的一部分,是一项语言特性、一项技术,可以用于任何方面,就跟类概念对c++一样;容器跟数据结构有关系;CList CArray CMap是微软基础类库(MFC)的;vec原创 2011-09-09 17:15:42 · 496 阅读 · 0 评论 -
讲义
讲义一、 填空与选择1. C语言从源程序的书写到上机运行输出结果要经过_______________四个步骤。2. C语言的表达式与语句的区别在于___________________________________。3. C语句___________原创 2011-09-13 16:04:46 · 547 阅读 · 0 评论 -
字符串处理和排序
#include iostream>// 数据流输入/输出#includestring>// 字符串类#includealgorithm>// STL 通用算法#includevector>// STL 动态数组容器#includestdlib.h原创 2011-09-18 08:53:57 · 804 阅读 · 0 评论 -
虚函数表
虚函数表完成了C++编译器对于虚函数的实现方式,即dynamic binding,为了达到动态绑定(后期绑定)的目的,C++编译器通过某个表格,再执行期“间接”调用实际上欲绑定的函数。这样的表格成为虚函数表vtable) 每一个“内含虚函数的类”,编译器都会原创 2011-09-19 10:24:37 · 2026 阅读 · 0 评论 -
函数的重载、覆盖和隐藏
下面我们从成员函数的角度来讲述重载和覆盖的区别。成员函数被重载的特征1) 相同的范围(在同一个类中);2) 函数名字相同;3) 参数不同;4) virtual关键字可有可无。覆盖的特征1) 不同的范围(分别位于派生类与基类);2) 函数名字相同;3) 参数相同4) 基类函数必须有virtual关键字。由于C++的多态性总是和虚函数来实现的,所以函原创 2012-06-19 15:41:40 · 785 阅读 · 0 评论 -
批处理
rd /s /q 1if exist 2 goto jing:jingcd 22ren j.xml x.xmlren w.xml y.xmlcd..if exist 33 goto j:jcd 33ren j.xml 1.xmlren w.xml 2.xmlcd..pause原创 2012-03-30 00:05:02 · 581 阅读 · 0 评论 -
C++面试宝典2023版
1.new、delete、malloc、free关系delete会调用对象的析构函数,和new对应free只会释放内存,new调用构造函数。malloc与free是C++/C语言的标准库函数,new/delete是C++的运算符。它们都可用于申请动态内存和释放内存。对于非内部原创 2011-09-19 11:57:07 · 76761 阅读 · 61 评论 -
堆和栈是两个不同的概念
堆和栈是两个不同的概念。堆(heap)上分配的内存,系统不释放,而且是动态分配的。栈(stack)上分配的内存系统会自动释放,它是静态分配的。运行时栈叫堆栈。栈的分配是从内存的高地址向低地址分配的,而堆则相反。由malloc或new分配的内存都是从heap上分配的内存原创 2011-09-29 21:10:47 · 1231 阅读 · 0 评论 -
准备
介绍项目:oxmark是由主程序和dll测试模块组成,功能:测试主板各种设备的功能,如:cpu,mem,hdd,odd,battery,acswitch,keyboard,mouse,blutooth,lan,wlan,graphic,audio,usb,cardreader,f原创 2011-09-29 17:30:50 · 975 阅读 · 0 评论 -
strlen和sizeof的区别
strlen是有效字符串的长度,不包含‘\0’,与初始化有关系.而sizeof()函数返回的是变量声明后所占的内存数,不是实际长度。 大部分编译程序 在编译的时候就把sizeof计算过了,strlen的结果要在运行的时候才能计算出来,时用来计算字符串的长度,不是类型占内存的大原创 2011-09-06 11:35:31 · 905 阅读 · 2 评论 -
Oracle面试题
Oracle的面试问题——技术知识篇这也许是你一直期待的文章,在关注这部分技术问题的同时,请务必阅读有关面试中有关个人的问题和解答。这里的回答并不是十分全面,这些问题可以通过多个角度来进行解释,也许你不必在面试过程中给出完全详尽的答案,只需要通过你的解答使面试考官了解你对Or原创 2011-09-26 16:17:52 · 1923 阅读 · 2 评论 -
进程间通讯
它由两个部分组成: 一个是操作系统用来管理进程的内核对象。内核对象也是系统用来存放关于进程的统计信息的地方 另一个是地址空间,它包含所有的可执行模块或DLL模块的代码和数据。它还包含动态分配的空间。如线程堆栈和堆分配空间。每个进程被赋予它自己的虚拟地址空间,当进程原创 2011-09-23 14:43:57 · 936 阅读 · 0 评论 -
排序算法总结
排序算法总结后面的例程,都是对数组的排序,使用静态链表的也适用于链表的排序。为简单起见,只对单关键码排序,并且最后的结果都是从头到尾按升序排列。下面是统一的测试程序:#include #include using namespace std;#include原创 2011-09-23 11:22:37 · 3587 阅读 · 0 评论 -
基于socket的TCP和UDP编程
一、概述 TCP(传输控制协议)和UDP(用户数据报协议是网络体系结构TCP/IP模型中传输层一层中的两个不同的通信协议。 TCP:传输控制协议,一种面向连接的协议,给用户进程提供可靠的全双工的字节流,TCP套接口是字节流套接口(STreamsocket)的一种。原创 2011-09-20 13:51:53 · 10405 阅读 · 0 评论 -
C++虚函数和多态学习笔记
C++虚函数和多态学习笔记:编译器对每个包含虚函数的类创建一个表(称为V TA B L E)。在V TA B L E中,编译器放置特定类的虚函数地址。在每个带有虚函数的类中,编译器秘密地置一指针,称为v p o i n t e r(缩写为V P T R),指向这个对象的V T原创 2011-09-21 09:26:50 · 1089 阅读 · 0 评论 -
怎样添加或删除字段!
如要在一个hwsp表中填加字段:ylxsalter table hwsp add column ylxsALTER TABLE 表 {ADD ADD{COLUMN 字段类型 [ (字长)] [NOT NULL] [CONSTRAINT 索引 ] |原创 2011-09-20 16:19:32 · 1732 阅读 · 0 评论 -
迭代器iterator
迭代器:提供了一种一般化的方法,对顺序容器或关联容器进行连续访问。每种容器都提供一种begin()和end()成员函数,begin()返回一个iterator,用于指向容器的第一个元素;end()返回一个iterator,用于指向容器未元素的下一个位置。原创 2011-09-20 15:10:10 · 1463 阅读 · 0 评论 -
今天要撑握的题目
1.快速排序算法2.网络编程3.容器vector和list的区别?4.抽象类为什么不能实例化?5.纯虚函数是怎样实现的?在编译原理上讲一下?6.设计模式:工厂模式 和 单例模式 介绍一下?7.关于容器类型map8.平衡二叉树特点:bu_yze@cv原创 2011-09-19 09:46:36 · 824 阅读 · 0 评论 -
getch()和getche() getchar()
(1) getch()和getche()函数 这两个函数都是从键盘上读入一个字符。其调用格式为: getch() getche() 两者的区别是: getch()函数不将读入的字符回显在显示屏幕上 而getche() 函数却将读入的字符回显到显示屏幕上。原创 2011-09-13 15:45:59 · 1509 阅读 · 0 评论 -
预处理指令
一、预处理的由来:在C++的历史发展中,有很多的语言特征(特别是语言的晦涩之处)来自于C语言,预处理就是其中的一个。C++从C语言那里把C语言预处理器继承过来(C语言预处理器,被Bjarne博士简称为Cpp,不知道是不是C Program Preprocessor的简称)。原创 2011-09-13 15:29:51 · 506 阅读 · 0 评论 -
C++中常见的内存错误
发生内存错误是件非常麻烦的事情。编译器不能自动发现这些错误,通常是在程序运行时才能捕捉到。而这些错误大多没有明显的症状,时隐时现,增加了改错的难度。有时用户怒气冲冲地把你找来,程序却没有发生任何问题,你一走,错误又发作了。常见的内存错误及其对策如下:u 内存分配未成功,原创 2011-09-05 09:21:45 · 548 阅读 · 0 评论 -
什么时候使用虚函数?
l判断成员函数所在的类是否会作为基类,如果该函数在类被继承后有可能被更改功能,一般应将它声明为虚函数。 不要仅考虑到要作为基类,就把类中的所有成员函数都声明为虚函数。 l考虑对成员函数的调用是通过对象名还是通过基类指针或引用去访问,如果是通过基类指针或引用去访问的原创 2011-09-02 09:18:36 · 2260 阅读 · 0 评论 -
类模板
类模板是一种规范性描述,它规定了如何创建一个类,对于初学者我们只要求学会怎样使用一个C++标准库中定义的类模板如:vector,list等。原创 2011-09-02 15:47:03 · 396 阅读 · 0 评论 -
虚函数与多态性 纯虚函数
多态性(Polymorphism) 指一个名字,多种语义; 一个接口,多种方法 • 所谓多态性是指当不同的对象收到相同的消息时, 产生不同的动作。• C++的多态性具体体现在运行和编译两个方面: 在程序运行时的多态性通过继承和虚函数来体原创 2011-09-02 09:05:11 · 731 阅读 · 0 评论 -
const 和 #define
const常量有数据类型,而宏没有数据类型。编译器可以对const进行类型检查。原创 2011-09-02 15:18:54 · 405 阅读 · 0 评论 -
C++面试题总结
内容摘要:1.static有什么用途?(请至少说明两种) 1)在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。 2) 在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。它是一个本地的全原创 2011-08-31 15:40:56 · 5478 阅读 · 4 评论