- 博客(9)
- 资源 (1)
- 收藏
- 关注
原创 c++ 封装 继承 多态
C++封装继承多态总结面向对象的三个基本特征面向对象的三个基本特征是:封装、继承、多态。其中,封装可以隐藏实现细节,使得代码模块化;继承可以扩展已存在的代码模块(类);它们的目的都是为了——代码重用。而多态则是为了实现另一个目的——接口重用!封装
2015-07-29 21:24:36 362
原创 const
const用法主要是防止定义的对象再次被修改,定义对象变量时要初始化变量 下面我就介绍一下几种常见的用法1.用于定义常量变量,这样这个变量在后面就不可以再被修改 const int Val = 10; //Val = 20; //错误,不可被修改 2. 保护传参时参数不被修改,如果使用引用传递参数或按地址传递参数给一个函数,在这个函数里这个参数的值若被修改,则函数
2015-07-26 11:08:05 264
原创 static 变量
static关键字在C/C++中应用广泛,而且有不同的语义。这篇文章,我主要想探讨一下用static修饰变量的时候,它都有些什么语义,这些变量都有哪些特性。1.源文件中用static定义全局变量这个变量只能在这个文件中可见,其它任何文件中对这个变量都是不可见的。而且你不可以用extern把这个变量导出去。 2. 头文件中用static定义一个全局变量这也是唯一一种能在头文件中定
2015-07-22 10:40:11 362
原创 c++函数初探
一、递归: 直接或间接的在函数体中调用函数自己的现象1 数学中的递推式与函数递归 递推:有首项顺序迭代求每一项 (顺序) 函数递归:由第n项求第n-1项...向前逆序迭代求每一项 (逆序)
2015-07-21 20:54:48 312
原创 指针与数组的区别
1 声明一个数组时,其数组名字也是一个指针,指向数组第一个元素2 数组作为函数参数传递时,自动退化为同类型的指针C++/C程序中,指针和数组在不少地方可以相互替换着用,让人产生一种错觉,以为两者是等价的。 数组要么在静态存储区被创建(如全局数组),要么在栈上被创建。数组名对应着(而不是指向)一块内存,其地址与容量在生命期内保持不变,只有数组的内容
2015-07-21 15:47:16 326
原创 leetcode2.1.8.3sum
如果之前做过求“和为某值的2个数的组合”这种题,应该不会觉得这道题有难度。但这道题需要去掉重复的解,所以在去重方面需要下功夫,因为单是求解就需要O(n2),如果在求解的循环中还嵌套有其他O(n)以上的去重操作,整体的时间就会到O(n3)以上,所以这是个重点。为了避免这个O(n)以上的去重操作,我们在求出解的过程中需要一些技巧去掉不必要的操作。 解题思路如下:首先是求解:因为
2015-07-14 20:02:23 297
原创 c++ nullptr关键字
从1972年C语言刚刚诞生以来,常数0就扮演着整数(int)0和空指针( null pointer )两种角色。为了避免理解上的二义性,C语言通常使用NULL宏来表示空指针,NULL宏通常被定义为(void *)0或0, 而C++仅仅采用0来表示空指针,这样存在一个问题:比如对于重载函数 fun(char *) 和 fun(int) 的调用来说,若直接用NULL作为参数调用fun(NULL),我们
2015-07-02 18:06:45 575
转载 初探浅拷贝与深拷贝
对深拷贝与浅拷贝的再次理解 记得11年底找工作的时候,面试时曾经遇到有面试官问的对深拷贝与浅拷贝的理解,那时候自己回来查了资料,写了篇博客,感觉自己理解了,其实理解的不深刻,最近在调试bug的时候,再次遇到深拷贝与浅拷贝,认真分析了,写写自己的心得吧。 先说下自己的理解吧,浅拷贝,即在定义一个类A,使用类似A obj; A obj1(obj);或者A obj1 = obj;
2015-07-01 10:34:08 246
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人