C++基础
tengfei_scut
这个作者很懒,什么都没留下…
展开
-
满二叉排序树
对于一棵满二叉排序树深度为k,节点数为2^k - 1,节点值为1至(2^k - 1),给出k和任意三个节点的值,输出包含该三个节点的最小子树的根节点值。样例输入:4 10 15 13,样例输出:12原创 2017-04-04 20:12:40 · 757 阅读 · 0 评论 -
子类父类 构造函数析构函数
#include using namespace std;//运算符的重载 class Base//{public: int a; Base() { cout << "父类的不带参的构造函数调用" << endl; } Base(int a) { cout << "父类的带参数的构造函数调用" << endl; } ~Base() { cout << "原创 2017-04-06 10:11:02 · 418 阅读 · 0 评论 -
模板全特化和偏特化
模板为什么要特化,因为编译器认为,对于特定的类型,如果你能对某一功能更好的实现,那么就该听你的。模板分为类模板与函数模板,特化分为全特化与偏特化。全特化就是限定死模板实现的具体类型,偏特化就是如果这个模板有多个类型,那么只限定其中的一部分。先看类模板:[cpp] view plain copytemplatetypename转载 2017-04-06 09:55:52 · 457 阅读 · 0 评论 -
冒泡排序,快速排序,归并排序
#includeusing namespace std;//************************冒泡排序***************************************************************void bubbleSort(int arr[],int len){ for (int i = 0; i < len - 1; i++){ b原创 2017-04-05 20:57:10 · 230 阅读 · 0 评论 -
多态与虚函数表
什么是多态,多态有什么用途。定义:“一个接口,多种方法”,程序在运行时才决定调用的函数。实现:C++多态性主要是通过虚函数实现的,虚函数允许子类重写override(注意和overload的区别,overload是重载,是允许同名函数的表现,这些函数参数列表/类型不同)。多态与非多态的实质区别就是函数地址是早绑定还是晚绑定。如果函数的调用,在编译器编译期间就可以确定函数的调用地址,原创 2017-04-05 17:11:09 · 571 阅读 · 0 评论 -
sizeof('\0') strlen("\0")
#includeusing namespace std;void main(){cout //cout cout system("pause");}原创 2017-04-14 09:24:51 · 853 阅读 · 0 评论 -
c++基本数据类型字节长度
32位操作系统 64位操作系统char :1个字节(固定) char:1个字节(固定)*(即指针变量): 4个字节 *(即指针变量): 8个字节short int : 2个字节(固定)原创 2017-04-14 09:14:54 · 1132 阅读 · 0 评论 -
c++基本数据类型字节长度
除了*与long随操作系统子长变化而变化外,其他的都固定不变(32位和64相比)32位操作系统 64位操作系统char :1个字节(固定) char:1个字节(固定)*(即指针变量): 4个字节 *(即指针变量): 8原创 2017-04-05 15:38:52 · 619 阅读 · 0 评论 -
c++基础知识总结
1:把程序员分成两类:一类是类创建者,一类是客户程序员。 (好比我开发了一套类库(当然我没那么牛),我封装了一些大部分的功能,对某一个具体的类而言, 我只向外面暴露借口,而具体的实现,我已经隐藏起来了--->这个时候我就是类的创建者。 而客户程序员,他要利用我写的那套类库去开发某一个新的产品(或者软件),他只需要调用我暴 露出来的借口去实现具体的功能,而根本不转载 2017-04-12 17:13:31 · 180 阅读 · 0 评论 -
编译和链接
在多道程序环境中,要想将一个用户源代码变成一个可以在内存中执行的程序,通常分为三个步骤:编译、链接、载入。 (1)编译:由编译程序将用户的源代码编译成若干个目标模块。 (2)链接:由链接程序将编译后形成的一组目标模块以及它们所需要的库函数链接在一起,形成一个完整的载入模块。 (3)载入:由载入程序将载入模块载入内存。原创 2017-04-01 15:38:10 · 235 阅读 · 0 评论 -
itoa(),atoi()实现
atoi 和 itoa是面试笔试经常要考到的题目,下面两份代码是用C语言实现的atoi和itoa:1, atoi原型: int atoi(const char *nptr);函数说明: 参数nptr字符串,如果第一个非空格字符不存在或者不是数字也不是正负号则返回零,否则开始做类型转换,之后检测到非数字(包括结束符 \0) 字符时停止转换,返回整型数。#inclu转载 2017-04-10 22:34:50 · 214 阅读 · 0 评论 -
static关键字剖析
C++的static有两种用法:面向过程程序设计中的static和面向对象程序设计中的static。前者应用于普通变量和函数,不涉及类;后者主要说明static在类中的作用。1.面向过程设计中的static1.1静态全局变量在全局变量前,加上关键字static,该变量就被定义成为一个静态全局变量。我们先举一个静态全局变量的例子,如下: //Example 1#include原创 2017-04-10 09:24:01 · 238 阅读 · 0 评论 -
strcpy(),strncpy(),strcmp(),strcat(),memset(),memcpy(),atoi(),
出处http://blog.csdn.net/jiange_zh前言在面试中,常常会被问到几个库函数的实现,虽然代码很短,涉及的细节却特别多,因此特别受面试官青睐,所以要把他们熟记于心,方能应对自如。strcpy()原型声明:char strcpy(char dest, const char *src); 功能:把从src地址开始且含有NULL结束符的字符串转载 2017-04-09 16:56:13 · 309 阅读 · 0 评论 -
构造函数,析构函数
#include using namespace std;class A{public: A(){ cout << "Construct a" << endl; p(); } virtual void p(){ cout << "A" << endl; } ~A(){ cout << "Destruct a" << endl; p(); }//析构函数不加virtual};clas原创 2017-04-06 10:43:20 · 233 阅读 · 0 评论