自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

踏雪有痕 雨落无声

低头苦进,撩起层层雪影...... 回眸无语,只求一波浪静......

  • 博客(14)
  • 资源 (2)
  • 收藏
  • 关注

原创 踏雪有痕- 类型转换

1、隐式类型转换     c++定义了一组内置类型对象之间的标准转换,由编译器隐式的应用到对象上。    (1)在混合类型的算术表达式中,最宽的数据类型成为目标转换类型。        顺序如下:double——float——int。    (2)用一种类型的表达式赋值给另一种类型对象,目标转换类型是赋值对象的类型。       例如:int *pi=0;          文字常量0的类型是i

2007-10-22 10:51:00 545

原创 踏雪有痕-new delete

    new分配的对象都是未命名的,new永远不返回实际被分配的对象,只返回这个对象的地址。对象的所有操作都通过这个地址间接完成。    delete只能释放new分配的指针。例如:string ps ;string *ps1 = new string();string *ps2 = &ps;    delete ps1;delete ps2;  //这个语句能编译通过,但出现运行其错误

2007-10-22 09:41:00 496

原创 踏雪有痕-关系操作符

 1、    使用 && 和 || 时,c++使用布尔表达式简化求值法。    c++保证这些操作数按照从左到右的顺序计算,一旦确定了布尔表达式的真假值,即使还有部分表达式没有计算,布尔表达式也会停止运算。    expr1 && expr2    expr1 || expr2    这个特性有一个很有价值的用法:在某些使expr2的计算变得危险的边界条件出现前,先使expr1计算为false。 

2007-10-19 16:04:00 575

原创 踏雪有痕-vector类型

定义vector有两种类型,即所谓的数组习惯和STL习惯。1、数组习惯用法中,模仿内置数组的用法,定义一个已知长度的vector:        vector ivec(10);    vector的元素被初始化为与其类型相关的缺省值,算术和指针类型的缺省值是0,class类型的缺省值通过调用默认构造函数获取。    初始化方式有多种......    甚至允许被另一个vector初始化,或赋值

2007-10-19 11:36:00 674

原创 踏雪有痕-数组

1、 数组定义必须制定维数值(显式初始化例外,下面讨论),且维数值必须是常量表达式,也就是说必须是能在编译时刻计算出的值,非const的变量不能用作数组维数。   2、同变量一样,全局数组定义后系统会自动初始化,局部数组则不会。    数组也可以显式初始化,此时可以不制定维数值,编译器会根据初始化的元素个数确定维数值:        int  pi[] = {1,2,3};    如果这种情况下制

2007-10-19 09:42:00 648

原创 雨落无声-天&云

 天浮云端云飘天际若即若离不离不弃!

2007-10-18 16:33:00 616

原创 踏雪有痕-指针和引用

关于指针和引用的区别,考虑下面两个情况:1、  int *pi = 0;  //用0初始化pi,pi不指向任何对象。int &ri = 0;   //引用ri的对象就是0引用必须总是指向一个对象,换句话说:引用必须被初始化。2、指针:int  ival1 = 1024;int  ival2 = 2048;int *pi1 = &ival1;int *pi2 = &ival2

2007-10-18 15:59:00 486

原创 踏雪有痕-const常量

1、常量必须被初始化 2、不能把一个非const对象的指针指向一个常量对象(运行时无法保证这个指针不被修改,也就无法维持常量本性)。3、声明指向const对象的指针:  const  int  *pi=0 ;    此指针可以可以指向其它对象,甚至非const对象,但不能修改它指向的对象。    此用法常常用来作为函数参数,保证传递给函数的实际对象在函数中不会被修改。4、声明con

2007-10-18 14:31:00 517

原创 踏雪有痕-指针

1、每个指针都有一个相关的类型,不同数据类型的指针之间的区别不是在指针的表示上,也不是在指针所持有的值地址上——对所有类型的指针这两方面都是相同的。    不同之处在于指针所指的对象的类型上,指针的类型可以指示编译器怎样解释特定地址上内存的内容,以及该内存区域应该跨越多少内存单元。2、考虑下面语句,两个变量分别是什么类型: int   ii1, *ii2;3、指针持有0时,代表它

2007-10-18 09:42:00 583

原创 踏雪有痕-变量初始化

如果变量在全局域中定义,那么系统会保证给它提供初始值0;如果变量在局部域中定义或通过new表达式动态分配的,则系统不会提供初始值0。这戏对象被称为未初始化的(与他关联的内存区中含有一个随机的位串,可能是以前使用的结果)。下面举两个例子(见注释):1、 using   namespace   std;int a;   //未初始化,系统自动初始化为0main()...{    int b; 

2007-10-17 16:48:00 567

原创 踏雪有痕-文字常量与变量

文字常量,如1 ,3.1415926f, a  ,"test" 等,是不可寻址的,尽管它的值也存储在机器内存的某个地方,但我们无法访问它们的地址。变量和文字常量都有存储区,并且都有相关的类型,但变量是可寻址,这是他们的主要区别。由这个区别可以进一步得出结论,文字常量无法改变(这像句废话,常量当然无法修改),而变量可以修改。每一个变量,都有两个值与其关联: 数据值,存储在某个内存地

2007-10-17 16:17:00 648

原创 踏雪有痕-函数声明在哪里呢......

注意函数声明的位置!!!#include "stdafx.h"using   namespace   std;float max(float,float);  //************这句话放在此处和放在main函数中,结果不同。//以下是main()函数main()...{    float b=max(2,6);         coutbendl;}float max(float

2007-10-17 11:31:00 618

原创 踏雪有痕-三个函数一个都不能少

    如果 一个类需要一个copy constructor,或者一个copy assignment operator,或者一个destructor,那么他应该也同时需要这三个。    事实上,如果类中包含指针型的成员数据,大多数情况下都应该重载这三个函数,而不应使用默认。

2007-10-17 11:28:00 615

原创 踏雪有痕-静态对象和动态对象

一、   在c++中,对象可以静态分配——即编译器在处理程序源代码时分配,也可以动态分配——即程序执行时调用运行时刻库函数来分配。    静态与动态内存分配的两个主要区别是:          1、静态对象是有名字的变量,我们直接对其进行操作。而动态对象是没有名字的变量,我们通过指针间接的对它进行操作。          2、静态对象的分配和释放由编译器自动处理,程序员不需要做任何事情。相

2007-10-16 11:36:00 1011 1

软件工程思想.pdf

软件工程思想讲述项目开发和做程序员的道理,视野独特,构思新颖,内容风趣,......

2010-10-25

More Effective C++

一本不错的C++书,肯定会获益非浅。

2007-10-22

空空如也

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

TA关注的人

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