网站大量收购闲置独家精品文档,联系QQ:2885784924

c++primar总结.doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
cprimar总结

浮点数: float 只能保证 6 位有效数字, double 只能保证 10 位有效数字。一般而言,对付典型的比较需要使用大于或小于,而不使用等于或不等于,其根本原因在于计算机对于浮点数的存储方式使浮点数存储精度过低。 字面值常量: 整形字面值常量默认为 int 或 long ,浮点型字面值常量默认为 double ,字符串字面值常量默认为 C 风格字符串。编写代码时可以利用 \ 将长代码分行,特别对于较长的字面值常量来说,非常管用。 初始化: 内置类型尽在函数体外定义时被初始化位 0 ,类对象根据构造函数初始化。一般而言,变量在定义时应显示初始化,以避免未初始化的对象被使用。 C++ 对象的初始化分为直接初始化与复制初始化,直接初始化将对变量直接进行初始化,复制初始化将在初始化时先建立一个临时对象,然后调用变量的复制构造函数将临时对象复制给变量。需注意,复制初始化与直接初始化不同,同时,初始化与赋值也不同,需注意区分。 例如: int a(10);// 直接初始化 int b=10;// 复制初始化,先建立一个 int 型临时变量,值为 10 ,然后将临时变量复制给 b int c; c=10;// 赋值,不是初始化 const 限定符: 一般字面值常量应该赋值给 const 变量,防止出现魔数。 const 对象默认为文件的局部变量,非 const 变量默认为 extern ,在其他文件中调用时需使用 extern 声明。在遇到 const 限定符时建议从右往左读, const 限定符修饰了的类型就是常类型,例如: const int a=10;//a 为常整型 const int *p=a;//p 为指向常整型的指针 int *const q=a;//q 为指向整数的常指针,该指针不能改变,指针指向的值可以改变,由于此处指向的是常整 数,因此指向的值也不能改变 在类中, const 成员变量必须在构造函数初始化列表中进行初始化, const 成员函数中的 const 修饰符改变了 this 指针的性质,该函数只能做读取操作,不能做修改操作,注意从 const 成员函数中返回的值仍为 const 类型。 const 对象(类对象)、指向 const 对象的指针或引用只能调用 const 成员函数,以防止 const 对象被改变。( const 用法较多,此处只是简略说明,更多内容请看 C++Primer ) 引用: 引用必须在定义时初始化,一旦初始化后就不能改变引用对象。引用实际上为被引用变量的别名,两个变量指向同一块内存空间。例如: int a=10; int b=a;//b 为 a 的引用, a 与 b 指向同一块内存空间 int c;// 错误 c=a;// 错误 typedef : 见《typedef四个用途和两大陷阱》 数组: 数组中可以存放任意类型的对象。因此可以建立指针数组,多维数组(数组中存储的仍为数组)。数组中对象的初始化遵循常规对象初始化的规则,如引用变量必须在建立时进行初始化,引用数组建立时必须对数组中的所有元素进行初始化。 sizeof 运算符可以求出表达式结果所占的字节数,当表达式为数组名时,可以求出该数组所占的字节数,用 sizeof( 数组名 )/sizeof( 数组类型 ) 时可以求出数组长度。当数组名用于表达式时,数组名转化为指针,这种转化是单向的,即,转化以后该数组名一直保持为指针(但可以继续使用数组的方式使用数组中的元素),转化过后 sizeof( 数组名 ) 值为 4 (指针占 4 个字节)。 指针: 可以建立指向任意对象的指针,因此可以建立指向指针的指针,指向函数的指针,指向数组的指针等等。指针占用 4 个字节的内存空间,里面存储的是所指对象的地址,即指针存储的是地址。一个有效的指针必然只有三种可能: 1 、保存一个特定对象的地址; 2 、指向某个对象后面的另一个对象; 3 、为 0 值,即 NULL ; 未初始化的指针是无效的,使用无效的指针时会出现未定义错误。使用指针指向一个动态对象时,如果一个指针所指的对象已经被释放,该指针应该显示指向 NULL ,否则会出现野指针(指针指向的空间已被释放,但指针内所存的地址没有改变,指针仍然指向该内存空间,其值为任意值)。使用野指针会使程序出现意想不到的错误。 如果在某些时候需要用到多个指针指向同一对象,在释放指针所指的对象时需要确保释放最后一个指针时才真正的释放相关内存空间,此时可以使用句柄类或者智能指针达到对指针的控制,避免一个对象被释放多次。 引用: 可以建立任意对象的引用,因此可以建立指针的引用,例如: Int *a = new int(10); Int *b=a;//b 是一个指针的引用,引用的对象为一个指针,使用 b 时仍然

文档评论(0)

jgx3536 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:6111134150000003

1亿VIP精品文档

相关文档