- 浏览: 185923 次
- 性别:
- 来自: 上海
最新评论
-
yizhichao116:
大哥
设置为可编译链接
1) .m文件右键-&g ...
Windows下Object-C编译环境的搭建
文章列表
"=========================================================================
" 第一部分
"=========================================================================
"配置颜色
colorscheme murphy
" colorscheme 256-jungle
" 设置显示字体
if has("win32&qu ...
一、冒泡排序:
对一个队列里的数据,挨个进行轮询和交换,每次轮询出一个当前最大或者最小的值放在队尾,然后继续下次轮询,轮询长度-1,就跟冒泡一样,所以称为冒泡排序,运算时间复杂度N平方
二、选择排序:
对一个 ...
遍历方案:
遍历算法
1.中序遍历的递归算法定义:
若二叉树非空,则依次执行如下操作:
⑴遍历左子树;
⑵访问根结点;
⑶遍历右子树。
2.先序遍历的递归算法定义:
若二叉树非空,则依次执行如下操作:
⑴ 访问根结点;
⑵ 遍历左子树;
⑶ 遍历右子树。
3.后序遍历得递归算法定义:
若二叉树非空,则依次执行如下操作:
⑴遍历左子树;
⑵遍历右子树;
⑶访问根结点。
一、堆栈
1、堆栈数据结构是通过对线性表的插入和删除操作进行限制而得到的(插入和删除操作都必须在表的同一端完成) ,因此,堆栈是一个后进先出(last-in-first-out, LIFO)的数据结构。
2、栈通常采用的两种存储结构是(线性存储结构和链表存储结构)
链表:
链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。 相比于线性表顺序结构,链表比较方便插入和删除操作。
...
程序所需要的空间主要由以下部分构成:
• 指令空间(instruction space) 指令空间是指用来存储经过编译之后的程序指令所需的
空间。
• 数据空间(data space) 数据空间是指用来存储所有常量和所有变量值所需的空间。数
据空间由两个部分构成:
建议55:地方对象切片
1、定义:
c++内存模型规定,如果出现继承结构,内存分布一定是先基类部分的数据,后派生类部分的数据。在派生类向基类映射的过程中,派生类的对象中基类部分的数据会被强行“切”掉。
2、注意:
...
在引用和指针之间存在三大区别:
1、不存在空引用(null reference);
2、所有的引用都要初始化;
3、一个引用永远指向用来对他初始化的那个对象;
1、定义
多继承可以看作是单继承的扩展。所谓多继承是指派生类具有多个基类,派生类与每个基类之间的关系仍可看作是一个单继承。
多继承下派生类的定义格式如下:
class <派生类名>:<继承方式1><基类名1>,<继承方式2><基类名2>,…
{
<派生类类体>
};
其中,<继承方式1>,<继承方式2>,…是三种继承方式:public、private、protected之一。
2、注意
从两个不同的基类继承同名方法,从两个或者更多的相关基类那里继承同一 ...
operator是C++的关键字,它和运算符一起使用,表示一个运算符函数,理解时应将operator=整体上视为一个函数名。
改善c++程序建议——从c继承而来(一)
- 博客分类:
- c++语言技巧
1、
不要让main函数返回void:
Void main()这样的代码在vc中是容许的但是,gcc就不行了!
要想保证程序具有良好的可移植性能,就要标明main函数返回int,而不是void。强烈建议使用以下形式:
Int main()
{
return 0;
}
2、
区分0的4中面孔 ...
1、this指针是成员函数所属对象的指针,它指向类对象的地址;它隐含于每个类的非静态成员函数中;this指针只能在类的成员函数中使用,它指向该成员函数被调用的对象;静态成员函数没有this指针,因为类中只有一个静态成员函数实例,使用this指针无意义。
2、指针使用两种特殊的运算符: * 和 &;
& 用于返回其操作对象的的内存地址;
* 用于返回其操作数所指对象的值;
函数或变量在声明时,并没有给它实际的物理内存空间,它有时候可以保证你的程序编译通过, 但是当函数或变量定义的时候,它就在内存中有了实际的物理空间,如果你在编译模块中引用的外部变量没有在整个工程中任何一个地方定义的话, 那么即使它在编译时可以通过,在连接时也会报错,因为程序在内存中找不到这个变量!你也可以这样理解, 对同一个变量或函数的声明可以有多次,而定义只能有一次!
头件的中的#ifndef,这是一个很关键的东西。比如你有两个C文件,这两个C文件都include了同一个头文件。而编译时,这两个C文件要一同编译成一个可运行文件,于是问题来了,大量的声明冲突。
还是把头文件的内容都放在#ifndef和#endif中吧。不管你的头文件会不会被多个文件引用,你都要加上这个。一般格式是这样的:
#ifndef <标识>
#define <标识>
......
......
#endif
<标识>在理论上来说可以是自由命名的,但每个头文件的这个“标识”都应该是唯一的。标识的命名规则一般是头文件名全大写,前后加下划线,并把文件名中的 ...
1、extern和static不能同时修饰一个变量;其次,static修饰的全局变量声明与定义同时进行,也就是说当你在头文件中使用static声明了全局变量后,它也同时被定义了;最后,static修饰全局变量的作用域只能是本身的编译单元,也就是说它的“全局”只对本编译单元有效,其他编译单元则看不到它
2、const修饰的全局常量据有跟static相同的特性,即它们只能作用于本编译模块中,但是const可以与extern连用来声明该常量可以作用于其他编译模块中