c++
清缕风
这个作者很懒,什么都没留下…
展开
-
STL
STL = Standard Template Library,标准模板库原创 2014-07-25 09:32:05 · 390 阅读 · 0 评论 -
typedef & #define 的区别,
typedef & #define 的区别,typedef char *pStr;char string[4]="abc";const char *p1=string;const pStr p2=string;p1++;p2++; //错误,应将pStr看作是一个类型像int样的。如果是#define,那就是文本替换,则正确的原创 2016-01-11 17:13:27 · 259 阅读 · 0 评论 -
struct 大小
遵循以下原则1,结构体内成员按自身按自身长度自对齐自身长度,如char=1,short=2,int=4,double=8,。所谓自对齐,指的是该成员的起始位置的内存地址必须是它自身长度的整数倍。如int只能以0,4,8这类的地址开始。当成员是有结构体时,(这个结构体成员自身对齐的起始位置为其子成员中最长的长度的整数倍。)typedef struct dd{char a;翻译 2016-01-08 16:16:59 · 434 阅读 · 0 评论 -
联合结构体的大小
typedef union A{ int a[7]; char b; double c;};typedef union B{ int a; int b[9];};typedef union C { double i; int k[5]; char c;}; sizeof(A)=32;sizeof(B)=36;sizeof(C)=24原创 2015-07-02 09:35:37 · 882 阅读 · 0 评论 -
C++,C中struct的区别,及class
C中struct的成员只能是变量,不能有函数。C++的struct成员可以有函数。 C++中的成员默认是public的,而class中的成员默认是private的。那么怎样用struct来实现C++中的class呢?,可以通过拥有函数的指针来调用函数实现,例如以下。#include typedef struct ptest{ void (*pFunction)();}S原创 2016-01-11 11:35:42 · 239 阅读 · 0 评论 -
mymemcpy的实现
内存重叠:Dest和Src其中一部分是重叠的。void* my_memcpy(void* dest,const void* src,size_t count){ assert(dest != NULL && src != NULL && count > 0); char* temp_src = (char*)src; char* temp_dest = (char*)dest; i原创 2016-04-26 13:55:58 · 279 阅读 · 0 评论 -
友元类
友元类转载 2016-04-18 11:54:52 · 286 阅读 · 0 评论 -
二分查找
譬如数组{1, 2, 3, 4, 5, 6, 7, 8, 9},查找元素6,用二分查找的算法执行的话,其顺序为: 1.第一步查找中间元素,即5,由于5 2.寻找{6, 7, 8, 9}的中位数,为7,7>6,则6应该在7左边的数组元素中,那么只剩下6,即找到了。 二分查找算法就是不断将数组进行对半分割,每次拿中间元素和goal进行比较。在有序表R[0..n转载 2016-05-05 11:05:15 · 294 阅读 · 0 评论 -
冒泡
进行n-1趟比较,第 j 趟时循环(n-1)次原创 2016-05-05 12:06:00 · 245 阅读 · 0 评论 -
整形数二进制位上1的个数
j翻译 2015-08-06 11:58:44 · 553 阅读 · 0 评论 -
算法
整形数的二进制位1的个数int getCount(int a){ int iCount = 0; while(a) { a=a&(a-1); iCount ++; } return iCount; }翻译 2015-08-06 11:59:43 · 395 阅读 · 0 评论 -
单链表(创建,打印,逆序,合并两个有序的链表)
#includeusing namespace std;const int N=6;typedef int DataType;typedef struct node{ DataType data;struct node* next;}LinkedNode,*LinkList;LinkList CreateList(DataType a[N]){LinkedNode* ListHead=new Li转载 2015-07-01 10:16:45 · 803 阅读 · 0 评论 -
关于public ,private protect
protect和private成员要使用类的成员函数去访问,不能直接使用其类的对象访问。 stud.num=100;//出错! //假如num是Student类的protected成员,不能直接使用对象访问。但这样就可访问 到私有成员了。class myD{private:int a;public:int Getint() {return a;};};原创 2016-05-18 10:19:38 · 803 阅读 · 0 评论 -
extern
1 基本解释:extern可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。此外extern也可用来进行链接指定。 也就是说extern有两个作用,第一个,当它与"C"一起连用时,如: extern "C" void fun(int a, int b);则告诉编译器在编译fun这个函数名时按着C的规则去翻译相应的函数翻译 2016-07-22 15:17:04 · 334 阅读 · 0 评论 -
typedef的常用
typedef int size; 此声明定义了一个 int 的同义字(别名),名字为size。注意 typedef 并不创建新的类型。它仅仅为现有类型添加一个别名。你可以在任何需要 int 的上下文中使用 size:typedef int al;al a = 10;typedef char Line[4];Line b = {'g','h翻译 2016-01-20 14:12:31 · 248 阅读 · 0 评论 -
二分查找
假设是数据是升序排列的int BinarySearch(int arr[],int iLen, int iTarget)// if the array is sorted by low to height.{ if(arr==NULL|| iLen<=0) { return -1; } int iStart=0; int iEnd= iLen -1; while( iSt原创 2015-09-17 14:49:11 · 260 阅读 · 0 评论 -
最大公约数 辗转相除法
int GongYueShu(int a, int b){ if (a<b) { int temp = a; a = b; b = temp; } int iNextYuShu; int iYuShu = a%b; int ibc = b; while (iYuShu) { iNextYuShu = ibc%iYuShu; if (iNextYuShu)原创 2015-08-07 13:59:50 · 316 阅读 · 0 评论 -
容器
c++中分为两大类: 顺序容器和原创 2014-07-25 10:41:07 · 447 阅读 · 0 评论 -
SQL server 2000 开发版安装时候提示”没有启动服务器服务“ 是怎么回事?该怎么解决?谢谢请看下图
在安装SQL 2000快完成时原创 2014-07-26 10:12:42 · 1061 阅读 · 0 评论 -
vc6.0 中classview栏的所有类不见了,该怎么解决?删除.clw,.ncb.....等等,这些网络资源的方法根本不行
vc6.0 中classview栏的所有类不见了,该怎么解决?删除.clw,.ncb.....等等,这些网络资源的方法根本不行原创 2014-07-30 15:43:17 · 703 阅读 · 0 评论 -
c++
封装性,继承性,多态性。重载:在cheng原创 2014-08-11 14:57:33 · 407 阅读 · 0 评论 -
保留
char* getData(int iYear, int iMonth, int iDay, int inCountDay){char psResult[100]="";if ( iYear 12){return psResult;}int iSumday = 0;int iLeapYear = 0;int month_Data[原创 2015-06-19 11:49:14 · 349 阅读 · 0 评论 -
单链表2
//求单链表的长度 int length(node *head) { int n=0; node *p; p=head; while(p!=NULL) { p=p->next; n++; } return(n); }转载 2015-07-01 10:34:27 · 325 阅读 · 0 评论 -
string类
string::string(const char* str){if (str == NULL){m_data = new char[1];m_data[0] = '\0';}else{m_data = new char[strlen(str) +1];strcpy(m_data, str);}}string::string(const转载 2015-07-01 10:44:18 · 348 阅读 · 0 评论 -
struct和class的区别
struct是一种数据结构的实现体,class是对象的实现体。struct能包含成员函数、能继承,也能实现多态。1)默认的继承访问权限和缺省权限。struct是public的,class是private的。struct A{char a;};struct B : A{char b;};这个时候B是public继承A的。到底默认是p转载 2015-07-02 14:16:02 · 317 阅读 · 0 评论 -
struct和union
struct和union的区别union的成员变量是共用一段内存空间的,在同一时刻,只有一个成员变量是有效的(有值)。当对结构体的其中一个成员修改时,对其他成员没影响,但修改联合体时,则会将原来的成员值覆盖原创 2015-07-03 17:20:23 · 325 阅读 · 0 评论 -
封装、继承、多态
多态性在是通过虚函数(Virtual Function) 实现的。多态性可以简单地概括为“一个接口,多种方法“,程序在运行时才决定调用的函数.多态的作用:封装可以使得代码模块化,继承可以扩展已存在的代码,他们的目的都是为了代码重用。而多态的目的则是为了接口重用。也就是说,不论传递过来的究竟是那个类的对象,函数都能够通过同一个接口调用到适应各自对象的实现方法。 最常见的用法就是原创 2015-07-07 15:29:41 · 308 阅读 · 0 评论 -
二分查找
int iArraMax[10] = {2, 10,70,163,254,346,438, 726, 817,11}; int iBegain = 0; int iEnd = 9; int iMedium = iBegain + (iEnd-iBegain)/2; int iMaxV = -4; while (iMedium >0 && iMedium <iEnd) { if原创 2015-08-06 15:20:53 · 311 阅读 · 0 评论 -
数数
int iCount = 13;int iArray[14] = {0};int iValue = 0;int iPos= 1;while (iCount >1){if (iArray[iPos] == 0){iValue ++;}if (iValue == 3){iValue =0;iArray[iPos] = 1;iCount原创 2015-07-01 10:43:13 · 300 阅读 · 0 评论 -
求子数组最大和
int Array[8] = {1, -2, 3, 10, -4, 7, 2, -5}; int sum = 0; int MaxSum = -100; for (int Index = 0; Index <8; Index ++) { sum =0; for (int iStartIndex = Index, i = Index; iStartIndex <8; iStar原创 2015-08-06 17:22:39 · 292 阅读 · 0 评论 -
extern
3.深层揭密extern "C" extern "C" 包含双重含义,从字面上即可得到:首先,被它修饰的目标是“extern”的;其次,被它修饰的目标是“C”的。让我们来详细解读这两重含义。 被extern "C"限定的函数或变量是extern类型的; extern是C/C++语言中表明函数和全局变量作用范围(可见性)的关键字,该关键字告诉编译器,其声明的函数和变量可转载 2016-07-22 15:19:12 · 269 阅读 · 0 评论