![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
文章平均质量分 82
守-望-者
这个作者很懒,什么都没留下…
展开
-
拷贝构造函数
一. 什么是拷贝构造函数首先对于普通类型的对象来说,它们之间的复制是很简单的,例如:1. int a = 100; 2. int b = a; 而类对象与普通对象不同,类对象内部结构一般较为复杂,存在各种成员变量。下面看一个类对象拷贝的简单例子。1. #include 2. using namespace std; 3.转载 2015-04-28 16:55:24 · 443 阅读 · 0 评论 -
二叉树总结
1.基本概念满二叉树:除最后一层外,每一层上的所有节点都有两个子结点,最后一层都是叶子结点。完全二叉树:满二叉树最后一层,从右往左删除几个结点。堆是一个完全二叉树。二叉排序树:左子树的值小于根结点,右子树的值大于根结点,且左右子树都是二叉排序树。平衡二叉树:左右子树深度差的绝对值小于1。2.二叉树的创建二叉树结点的定义:typedef struct Bitnode原创 2015-08-12 11:38:40 · 474 阅读 · 0 评论 -
常见库函数的实现
字符串拷贝,返回指针是为了实现链式操作,如strlen(strcpy(dst, src)),des需要保证有足够空间char* strcpy(char* des,const char* src){ assert(des!=NULL && src!=NULL); char* temp = des; while((*des++ = *src++ )!='\0') ; retu原创 2015-08-08 19:32:38 · 355 阅读 · 0 评论 -
sizeof用法总结
转载自:http://www.cnblogs.com/wanghetao/archive/2012/04/04/2431760.html关于sizeof(string),今天看那本面试宝典的时候看到这个表达式,有点吃惊,书上写着sizeof(string)=4;当时很纳闷,难道分配4个字节大小的内存给string吗?查阅了相关资料得出结论:string的实现在各库中可能有所不同,但是在同一转载 2015-04-27 11:20:05 · 329 阅读 · 0 评论 -
输入函数总结
cin 用法1:最基本,也是最常用的用法,输入一个数字: #include using namespace std; int main () { int a,b; cin>>a>>b; cout } 输入:2[回车]3[回车] 输出:5 用法2:接受一个字符串,遇“空格”、“TAB”、“回车”都结束 #inc原创 2015-04-27 22:09:17 · 300 阅读 · 0 评论 -
size_t 和 size_type的区别
为了使自己的程序有很好的移植性,c++程序员应该尽量使用size_t和size_type而不是int, unsigned1. size_t是全局定义的类型;size_type是STL类中定义的类型属性,用以保存任意string和vector类对象的长度2. string::size_type 制类型一般就是unsigned int, 但是不同机器环境长度可能不同 win32 和wi转载 2015-04-27 10:57:56 · 667 阅读 · 0 评论 -
char str[] 和char* str区别
1 char* get_str(void) 2 { 3 char str[] = {"abcd"}; 4 return str; 5 } char str[] ={"abcd"};定义了一个局部字符数组,尽管是数组,但它是一个局部变量,返回它的地址肯定是一个已原创 2015-04-28 10:57:49 · 414 阅读 · 0 评论 -
全局变量、局部变量、静态全局变量、静态局部变量的区别
转载自:http://www.cnblogs.com/chenglei/archive/2009/09/06/1561367.htmlC++变量根据定义位置的不同,具有不同的作用域,作用域可分为6种:全局作用域,局部作用域,语句作用域,类作用域,命名作用域和文件作用域。从作用域看:全局变量具有全局作用域。全局变量只需在一个源文件中定义,就可以作用于所有的源文件。当然,其转载 2015-04-27 22:27:23 · 545 阅读 · 0 评论 -
C++中什么时候调用副本构造函数初始化一个类对象
转载自:http://blog.sina.com.cn/s/blog_6ab0b9a801019b3h.html三种情况需要调用副本构造函数:(1)明确表示由一个对象初始化另一个对象时;//其实这一点可用(2)来理解,本质上相同(2)当对象作为函数实参传递给函数作形参时;(3)当对象作为函数值进行返回时。 第一种比较好理解,这里不再陈述什么了;第二种情转载 2015-04-28 10:10:09 · 1125 阅读 · 0 评论 -
qsort函数、sort函数
qsortvoid qsort( void *base, size_t num, size_t width, int (__cdecl *compare )int compare (const void *elem1, const void *elem2 ) );参数意义如下:第一个参数 base 是 需要排序的目标数转载 2015-07-05 12:59:09 · 332 阅读 · 0 评论 -
二维数组作为函数参数传递剖析
转载自:http://www.cnblogs.com/wuyuegb2312/archive/2013/06/14/3135277.html前言 很多文章不外乎告诉你下面这几种标准的形式,你如果按照它们来用,准没错://对于一个2行13列int元素的二维数组//函数f的形参形式f(int daytab[2][13]) {...}//以下两种可以忽略行数f(i转载 2015-06-19 09:48:35 · 512 阅读 · 0 评论 -
程序员面试宝典 第三版 错误
原文地址:http://blog.csdn.net/hehao5/article/details/8686339这篇总结写到一半时,谷歌一下,发现早有大神总结的宝典中的错误,从他的总结中可以看出来这位大神无论是心思还是技术都比我细腻。 但我找到的一些错误他也没发现,两个人的答案并起来会好一点。强烈推荐:《程序员面试宝典3》大量错误(50+)纠正表 :http://blog.csdn.net转载 2015-04-26 12:57:36 · 391 阅读 · 0 评论 -
类对象大小的 sizeof 计算问题
转载自:http://blog.csdn.net/heipiaibenben/article/details/7870800一、类对象大小的 sizeof 计算问题 .首先,来看看一个只有构造函数和析构函数的空类:[cpp] view plaincopy#include using namespace std; clas转载 2015-04-28 10:04:55 · 589 阅读 · 0 评论 -
数组指针和指针数组的区别
转载自:http://www.cnblogs.com/mq0036/p/3382732.html数组指针(也称行指针)定义 int (*p)[n];()优先级高,首先说明p是一个指针,指向一个整型的一维数组,这个一维数组的长度是n,也可以说是p的步长。也就是说执行p+1时,p要跨过n个整型数据的长度。如要将二维数组赋给一指针,应这样赋值:int a[3][4];转载 2015-04-28 10:08:01 · 271 阅读 · 0 评论 -
虚函数和纯虚函数的区别
转载自:http://blog.csdn.net/hackbuteer1/article/details/7558868首先:强调一个概念定义一个函数为虚函数,不代表函数为不被实现的函数。定义他为虚函数是为了允许用基类的指针来调用子类的这个函数。定义一个函数为纯虚函数,才代表函数没有被实现。定义纯虚函数是为了实现一个接口,起到一个规范的作用,规范继承这个类的程序员必须实现这个函转载 2015-04-28 16:51:30 · 797 阅读 · 0 评论 -
static_cast, dynamic_cast, reinterpret_cast, const_cast区别比较
转载自:http://www.cnblogs.com/jerry19880126/archive/2012/08/14/2638192.html隐式转换(implicit conversion)short a=2000;int b;b=a;short是两字节,int是四字节,由short型转成int型是宽化转换(bit位数增多),编译器没有warni转载 2015-05-04 21:21:27 · 373 阅读 · 0 评论 -
C++类内存分布
转载自:http://www.cnblogs.com/jerry19880126/p/3616999.html书上类继承相关章节到这里就结束了,这里不妨说下C++内存分布结构,我们来看看编译器是怎么处理类成员内存分布的,特别是在继承、虚函数存在的情况下。工欲善其事,必先利其器,我们先用好Visual Studio工具,像下面这样一步一步来:转载 2015-05-13 20:32:00 · 395 阅读 · 0 评论 -
C++头文件编译问题
一、C++编译模式通常,在一个C++程序中,只包含两类文件——.cpp文件和.h文件。其中,.cpp文件被称作C++源文件,里面放的都是C++的源代码;而.h文件则被称作C++头文件,里面放的也是C++的源代码。C+ +语言支持“分别编译”(separatecompilation)。也就是说,一个程序所有的内容,可以分成不同的部分分别放在不同的.cpp文件里。.cpp文件里的东西都是相对独转载 2015-04-28 10:36:33 · 400 阅读 · 0 评论