自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 资源 (1)
  • 收藏
  • 关注

原创 加减乘除的组合运算

求一个数组中仅用加法得到指定值 int getsum(std::vectorint> v) { vectorint>::iterator it = v.begin(); int sum = 0; for (; it != v.end(); it++) sum += *it; return sum; } void print(vect

2015-03-24 21:39:31 1025

原创 函数重载

定义 同一作用域内函数名相同但形参列表不同 class A { void f(int a); }; class B { void f(double b); }; //这不是重载,因为两个函数位于不同的作用域内 class D : public A { void f(double b); }; //派生类成员函数与基类成员函数**同名**,且**参数不相同**时,基类

2015-03-18 17:11:40 349

原创 类中的隐式类型转换

C++基础

2015-03-18 17:03:39 426

原创 Bitmap算法

简介一个公司有8个员工,每个员工有一个ID号(1B表示),员工的上班记录: 1.N个字节记录每个员工的情况 2.8bit记录员工的情况00101111(0表示上班)优点:存储空间小,便于进行交叉运算(and,xor,or,not) 关键技术:压缩存储RLE 可以编码为0,8,2,11,1,2,3,11 其意思是:第一位为0,连续有8个,接下来是2个1,11个0,1个1,2个0,3个1,最后

2015-03-15 21:26:47 416

原创 拷贝赋值实现

#include <iostream> #include <cstring>using namespace std;//字符串赋值 char * mcopy(char *desc, const char *source) { if (desc != NULL) { while (*source) { *desc++ = *sou

2015-03-14 20:16:44 418

原创 常量字符串与非常量字符串 字符数组与字符指针

char line[20] = "this is a buff" ; char *word = line ; word++; word[-1] = 'a' ; 1.line实际为char ()[20],表示指向20个字符型数组的指针,与char 是不同的 2.如果是char *line=”world”, 则不能用负的下标去访问。因为”world”存储在常量区,无法通过指针line去修改字符循环的常

2015-03-14 18:35:10 650

转载 C可变参数

一. printf函数的实现原理 1.从后向前扫描,C/C++的函数参数是通过压入堆栈的方式来给函数传参数的(堆栈是一种先进后出的数据结构),最先压入的参数最后出来。 2.栈是从内存的高地址向低地址生长的,控制生长的就是堆栈指针了,最先压入的参数是在最上面,就是说在所有参数的最后面,最后压入的参数在最下面,结构上看起来是第一个,所以最后压入的参数总是能够被函数找到,因为它就在堆栈指针的上方

2015-03-14 16:54:57 423

原创 值传递和引用传递

“C++ primer” P188 传值调用 实参的值被拷贝给形参时,形参和是实参是两个相互独立的对象。 指针形参 实际就是指针拷贝操作,拷贝的是指针的值 ,拷贝后两个指针是不同的指针。 比如 int n=0,i=45; int *p = &n, *q = &i; *p = 42; //实际改变的是n的值,p的地址未变 p = q; p的地址变了,现在指向i,但是n的值没有再改变void r

2015-03-14 16:20:05 284

原创 隐藏、覆盖和重载

overload(重载)语义、功能相似的几个函数用同一个名字表示,但**参数不同**(包括类型、顺序不同) (1)相同的范围(在同一个类中); (2)函数名字相同; (3)参数不同 重载解析中不考虑返回类型,而且在**不同的作用域**里声明的函数也不算是重载 所以如果子类的成员函数为void f(int a, int b); 父类的成员函数为 void f(int a),这个不能算作重载 overr

2015-03-14 16:16:11 324

原创 为什么析构函数要为虚函数

析构函数为虚函数1.不管基类的析构函数是否为虚构函数,子类在销毁时,都会调用基类的虚构函数 2.举例说明 虚函数的作用就是通过基类指针或者是基类引用来调用合适的子类函数。 假设有如下的继承关系Descendant–>Derive–>Base,它们中都定义了sing()的函数代码块类的定义,例如:class Base { public: Base(){cout<<"Base const

2015-03-14 16:13:42 449

空空如也

空空如也

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

TA关注的人

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