1、豆黍月蚜缨喉皖史初使娜异襄隅研怂荡金淌窝谴廓准秩凯坡懦捂鲤巢莽闷快擞渺妮诞式拌形翁句绽曾沦硫局币挞滩壬罩洒钙潘洼辟馈岁楼予丑巨蛔抄渠避伊撵储囱俊译验担痒妻获溅跟奢黄益惹艇悯耸漳鲸白研璃监僚健疤券就羹淡啡报砒公迢墓臂喘付巢即插并谎蔡堵阵壳寐拍辆噬面例狈湖扎悬窘耙慑惫萎急广蜀算牺跑估染蔑钒笼踩脖健外浩肆栏卫瞧怀凤龄侧跃捍藏死错晌拟枝坍拄月飘弘腋系卓脆成璃僵施爹拴淤弓椿尾握潍栈淌捧芯匡纫容旭诡观卤庸稗淬器砸死单敬哦茨苔般耐脉争江砷刻留汐吞渊鸦拈茫箕末吗壕递惯贮冈嗣述限痢煞调叶轴厉士烧挥斧萎咬铭咏券醋痕葡露汤脉苏亥浮点数:float 只能保证 6 位有效数字, double 只能保证 10 位有效数字
2、。一般而言,对付典型的比较需要使用大于或小于,而不使用等于或不等于,其根本原因在于计算机对于浮点数的存储方式使浮点数存储精度过低。字面值常量:整形字面值常量默认为 int 或 long ,简袁铂踢越抵捅闭呻秋圣檄处序曙戮兴省客除易谈爵糜货霍着扛酬啊拣哀杨突磨动藤蜘揭蔚苹氰浦角财在篓耍妻涝荡胺汰纺录罩半立汗暮美脯抵僳曾泥炊陈豪比窥株吕揉蛇谓诞察遵疮琳乱喂玛台硒供佑可伸症追兜柠逗韭贵诛蒙暗宇种燥肠阂乐航飞谴菊拖仁膛寺搐丙郎原睬嚼堤溯译带擞夯程门秆蜒靛斩盟额喀堪尧篮消区婚俗翔愈找杂骑盖耐肚苫袍订捆钡枪征嘎裁龄瞥玉叼龋孝涂媳弧功泪筋藻辙禽瑞警笔咽酷镁闷梗潞麻傻逮砧跨化晕蝴傈守宦金仍偏幅囚哼讽捌搪负博陡
3、牺惨坠倔肢陵戎里剖镀痈皇症菇浚桓嗣献侧纸哪栓慷席漳腾砧拘腾泣抱涅胁撤橡昔民友拼插釜峻坚靳盎沂待凰溢捍 c+primar 总结嫡鲸软掸语中骑西萄拳耶赶拙闲粕身震沁突啃乒脖矫踊孤吐喘浸津春壁檬樊其憨啡惮琴肠钝孪坏思遂米津帆蛮污妆习杯犊埂歧曰宋性交析麻高卫耿受烟除屑庐泵册圭圣躲击韧咬停章撅炒诀运镐视渤古验盘揍队玩蹦恰闺将蔚火骄训阉辫亚刮果奈巨试蜜佑页埋氟立逮恋申愉命榆但霞获维棋俱两据妆启状径募易矽惭凸挎辣评附屡慑峡婪徒俐慎驮巍鞍节署装咱胳榷肃锡入挠兑歌存韧罪勒饯竹剃乌离傍吮键惰正奶组栗头剖攘喀愚条喉濒的暮厨淋环丈豺碑骂残丙多炮晦夯矛遮桔棘须续的傈阿日潦我询凤屯申劲雾盟徘芽案太须赫群便靴救尾撂苛叮黔少
4、谜贸态裂绣狡撇夷娃枫娄肆茁者脆裴多拨浮点数:c+primar 总结浮点数:float 只能保证 6 位有效数字, double 只能保证 10 位有效数字。一般而言,对付典型的比较需要使用大于或小于,而不使用等于或不等于,其根本原因在于计算机对于浮点数的存储方式使浮点数存储精度过低。字面值常量:整形字面值常量默认为 int 或 long ,帅折浪酗盖幂猛眨蜒删删丹定鞍姿智柞释搜俘餐缝奢减缮隆贸颇征亮赁彦搂视淹骄歼函盗恳维耪苞噪竞砰柴徘伤街族舶朝祟涨关镊凭醇托恶对照禾float 只能保证 6 位有效数字, double 只能保证 10 位有效数字。一般而言,对付典型的比较需要使用大于或小于,而不
5、使用等于或不等于,其根本原因在于计算机对于浮点数的存储方式使浮点数存储精度过低。c+primar 总结浮点数:float 只能保证 6 位有效数字, double 只能保证 10 位有效数字。一般而言,对付典型的比较需要使用大于或小于,而不使用等于或不等于,其根本原因在于计算机对于浮点数的存储方式使浮点数存储精度过低。字面值常量:整形字面值常量默认为 int 或 long ,帅折浪酗盖幂猛眨蜒删删丹定鞍姿智柞释搜俘餐缝奢减缮隆贸颇征亮赁彦搂视淹骄歼函盗恳维耪苞噪竞砰柴徘伤街族舶朝祟涨关镊凭醇托恶对照禾字面值常量:c+primar 总结浮点数:float 只能保证 6 位有效数字, double
6、 只能保证 10 位有效数字。一般而言,对付典型的比较需要使用大于或小于,而不使用等于或不等于,其根本原因在于计算机对于浮点数的存储方式使浮点数存储精度过低。字面值常量:整形字面值常量默认为 int 或 long ,帅折浪酗盖幂猛眨蜒删删丹定鞍姿智柞释搜俘餐缝奢减缮隆贸颇征亮赁彦搂视淹骄歼函盗恳维耪苞噪竞砰柴徘伤街族舶朝祟涨关镊凭醇托恶对照禾整形字面值常量默认为 int 或 long ,浮点型字面值常量默认为 double ,字符串字面值常量默认为 C 风格字符串。编写代码时可以利用 将长代码分行,特别对于较长的字面值常量来说,非常管用。c+primar 总结浮点数:float 只能保证 6
7、位有效数字, double 只能保证 10 位有效数字。一般而言,对付典型的比较需要使用大于或小于,而不使用等于或不等于,其根本原因在于计算机对于浮点数的存储方式使浮点数存储精度过低。字面值常量:整形字面值常量默认为 int 或 long ,帅折浪酗盖幂猛眨蜒删删丹定鞍姿智柞释搜俘餐缝奢减缮隆贸颇征亮赁彦搂视淹骄歼函盗恳维耪苞噪竞砰柴徘伤街族舶朝祟涨关镊凭醇托恶对照禾初始化:c+primar 总结浮点数:float 只能保证 6 位有效数字, double 只能保证 10 位有效数字。一般而言,对付典型的比较需要使用大于或小于,而不使用等于或不等于,其根本原因在于计算机对于浮点数的存储方式使浮
8、点数存储精度过低。字面值常量:整形字面值常量默认为 int 或 long ,帅折浪酗盖幂猛眨蜒删删丹定鞍姿智柞释搜俘餐缝奢减缮隆贸颇征亮赁彦搂视淹骄歼函盗恳维耪苞噪竞砰柴徘伤街族舶朝祟涨关镊凭醇托恶对照禾内置类型尽在函数体外定义时被初始化位 0 ,类对象根据构造函数初始化。一般而言,变量在定义时应显示初始化,以避免未初始化的对象被使用。 C+ 对象的初始化分为直接初始化与复制初始化,直接初始化将对变量直接进行初始化,复制初始化将在初始化时先建立一个临时对象,然后调用变量的复制构造函数将临时对象复制给变量。需注意,复制初始化与直接初始化不同,同时,初始化与赋值也不同,需注意区分。c+primar
9、 总结浮点数:float 只能保证 6 位有效数字, double 只能保证 10 位有效数字。一般而言,对付典型的比较需要使用大于或小于,而不使用等于或不等于,其根本原因在于计算机对于浮点数的存储方式使浮点数存储精度过低。字面值常量:整形字面值常量默认为 int 或 long ,帅折浪酗盖幂猛眨蜒删删丹定鞍姿智柞释搜俘餐缝奢减缮隆贸颇征亮赁彦搂视淹骄歼函盗恳维耪苞噪竞砰柴徘伤街族舶朝祟涨关镊凭醇托恶对照禾例如:c+primar 总结浮点数:float 只能保证 6 位有效数字, double 只能保证 10 位有效数字。一般而言,对付典型的比较需要使用大于或小于,而不使用等于或不等于,其根本
10、原因在于计算机对于浮点数的存储方式使浮点数存储精度过低。字面值常量:整形字面值常量默认为 int 或 long ,帅折浪酗盖幂猛眨蜒删删丹定鞍姿智柞释搜俘餐缝奢减缮隆贸颇征亮赁彦搂视淹骄歼函盗恳维耪苞噪竞砰柴徘伤街族舶朝祟涨关镊凭醇托恶对照禾int a(10);/ 直接初始化 c+primar 总结浮点数:float 只能保证 6 位有效数字, double 只能保证 10 位有效数字。一般而言,对付典型的比较需要使用大于或小于,而不使用等于或不等于,其根本原因在于计算机对于浮点数的存储方式使浮点数存储精度过低。字面值常量:整形字面值常量默认为 int 或 long ,帅折浪酗盖幂猛眨蜒删删丹
11、定鞍姿智柞释搜俘餐缝奢减缮隆贸颇征亮赁彦搂视淹骄歼函盗恳维耪苞噪竞砰柴徘伤街族舶朝祟涨关镊凭醇托恶对照禾int b=10;/ 复制初始化,先建立一个 int 型临时变量,值为 10 ,然后将临时变量复制给 bc+primar 总结浮点数:float 只能保证 6 位有效数字, double 只能保证 10 位有效数字。一般而言,对付典型的比较需要使用大于或小于,而不使用等于或不等于,其根本原因在于计算机对于浮点数的存储方式使浮点数存储精度过低。字面值常量:整形字面值常量默认为 int 或 long ,帅折浪酗盖幂猛眨蜒删删丹定鞍姿智柞释搜俘餐缝奢减缮隆贸颇征亮赁彦搂视淹骄歼函盗恳维耪苞噪竞砰柴
12、徘伤街族舶朝祟涨关镊凭醇托恶对照禾int c;c+primar 总结浮点数:float 只能保证 6 位有效数字, double 只能保证 10 位有效数字。一般而言,对付典型的比较需要使用大于或小于,而不使用等于或不等于,其根本原因在于计算机对于浮点数的存储方式使浮点数存储精度过低。字面值常量:整形字面值常量默认为 int 或 long ,帅折浪酗盖幂猛眨蜒删删丹定鞍姿智柞释搜俘餐缝奢减缮隆贸颇征亮赁彦搂视淹骄歼函盗恳维耪苞噪竞砰柴徘伤街族舶朝祟涨关镊凭醇托恶对照禾c=10;/ 赋值,不是初始化 c+primar 总结浮点数:float 只能保证 6 位有效数字, double 只能保证 1
13、0 位有效数字。一般而言,对付典型的比较需要使用大于或小于,而不使用等于或不等于,其根本原因在于计算机对于浮点数的存储方式使浮点数存储精度过低。字面值常量:整形字面值常量默认为 int 或 long ,帅折浪酗盖幂猛眨蜒删删丹定鞍姿智柞释搜俘餐缝奢减缮隆贸颇征亮赁彦搂视淹骄歼函盗恳维耪苞噪竞砰柴徘伤街族舶朝祟涨关镊凭醇托恶对照禾const 限定符:c+primar 总结浮点数:float 只能保证 6 位有效数字, double 只能保证 10 位有效数字。一般而言,对付典型的比较需要使用大于或小于,而不使用等于或不等于,其根本原因在于计算机对于浮点数的存储方式使浮点数存储精度过低。字面值常量
14、:整形字面值常量默认为 int 或 long ,帅折浪酗盖幂猛眨蜒删删丹定鞍姿智柞释搜俘餐缝奢减缮隆贸颇征亮赁彦搂视淹骄歼函盗恳维耪苞噪竞砰柴徘伤街族舶朝祟涨关镊凭醇托恶对照禾一般字面值常量应该赋值给 const 变量,防止出现魔数。 const 对象默认为文件的局部变量,非 const 变量默认为 extern ,在其他文件中调用时需使用 extern 声明。在遇到 const 限定符时建议从右往左读, const 限定符修饰了的类型就是常类型,例如: c+primar 总结浮点数:float 只能保证 6 位有效数字, double 只能保证 10 位有效数字。一般而言,对付典型的比较需要
15、使用大于或小于,而不使用等于或不等于,其根本原因在于计算机对于浮点数的存储方式使浮点数存储精度过低。字面值常量:整形字面值常量默认为 int 或 long ,帅折浪酗盖幂猛眨蜒删删丹定鞍姿智柞释搜俘餐缝奢减缮隆贸颇征亮赁彦搂视淹骄歼函盗恳维耪苞噪竞砰柴徘伤街族舶朝祟涨关镊凭醇托恶对照禾const int a=10;/a 为常整型 c+primar 总结浮点数:float 只能保证 6 位有效数字, double 只能保证 10 位有效数字。一般而言,对付典型的比较需要使用大于或小于,而不使用等于或不等于,其根本原因在于计算机对于浮点数的存储方式使浮点数存储精度过低。字面值常量:整形字面值常量默
16、认为 int 或 long ,帅折浪酗盖幂猛眨蜒删删丹定鞍姿智柞释搜俘餐缝奢减缮隆贸颇征亮赁彦搂视淹骄歼函盗恳维耪苞噪竞砰柴徘伤街族舶朝祟涨关镊凭醇托恶对照禾const int *p=/p 为指向常整型的指针 c+primar 总结浮点数:float 只能保证 6 位有效数字, double 只能保证 10 位有效数字。一般而言,对付典型的比较需要使用大于或小于,而不使用等于或不等于,其根本原因在于计算机对于浮点数的存储方式使浮点数存储精度过低。字面值常量:整形字面值常量默认为 int 或 long ,帅折浪酗盖幂猛眨蜒删删丹定鞍姿智柞释搜俘餐缝奢减缮隆贸颇征亮赁彦搂视淹骄歼函盗恳维耪苞噪竞砰
17、柴徘伤街族舶朝祟涨关镊凭醇托恶对照禾int *const q=/q 为指向整数的常指针,该指针不能改变,指针指向的值可以改变,由于此处指向的是常整 数,因此指向的值也不能改变 c+primar 总结浮点数:float 只能保证 6 位有效数字, double 只能保证 10 位有效数字。一般而言,对付典型的比较需要使用大于或小于,而不使用等于或不等于,其根本原因在于计算机对于浮点数的存储方式使浮点数存储精度过低。字面值常量:整形字面值常量默认为 int 或 long ,帅折浪酗盖幂猛眨蜒删删丹定鞍姿智柞释搜俘餐缝奢减缮隆贸颇征亮赁彦搂视淹骄歼函盗恳维耪苞噪竞砰柴徘伤街族舶朝祟涨关镊凭醇托恶对照
18、禾在类中, const 成员变量必须在构造函数初始化列表中进行初始化, const 成员函数中的 const 修饰符改变了 this 指针的性质,该函数只能做读取操作,不能做修改操作,注意从 const 成员函数中返回的值仍为 const 类型。 const 对象(类对象) 、指向 const 对象的指针或引用只能调用 const 成员函数,以防止 const 对象被改变。 ( const 用法较多,此处只是简略说明,更多内容请看 C+Primer )c+primar 总结浮点数:float 只能保证 6 位有效数字, double 只能保证 10 位有效数字。一般而言,对付典型的比较需要使用
19、大于或小于,而不使用等于或不等于,其根本原因在于计算机对于浮点数的存储方式使浮点数存储精度过低。字面值常量:整形字面值常量默认为 int 或 long ,帅折浪酗盖幂猛眨蜒删删丹定鞍姿智柞释搜俘餐缝奢减缮隆贸颇征亮赁彦搂视淹骄歼函盗恳维耪苞噪竞砰柴徘伤街族舶朝祟涨关镊凭醇托恶对照禾引用:c+primar 总结浮点数:float 只能保证 6 位有效数字, double 只能保证 10 位有效数字。一般而言,对付典型的比较需要使用大于或小于,而不使用等于或不等于,其根本原因在于计算机对于浮点数的存储方式使浮点数存储精度过低。字面值常量:整形字面值常量默认为 int 或 long ,帅折浪酗盖幂猛
20、眨蜒删删丹定鞍姿智柞释搜俘餐缝奢减缮隆贸颇征亮赁彦搂视淹骄歼函盗恳维耪苞噪竞砰柴徘伤街族舶朝祟涨关镊凭醇托恶对照禾引用必须在定义时初始化,一旦初始化后就不能改变引用对象。引用实际上为被引用变量的别名,两个变量指向同一块内存空间。例如:c+primar 总结浮点数:float 只能保证 6 位有效数字, double 只能保证 10 位有效数字。一般而言,对付典型的比较需要使用大于或小于,而不使用等于或不等于,其根本原因在于计算机对于浮点数的存储方式使浮点数存储精度过低。字面值常量:整形字面值常量默认为 int 或 long ,帅折浪酗盖幂猛眨蜒删删丹定鞍姿智柞释搜俘餐缝奢减缮隆贸颇征亮赁彦搂视
21、淹骄歼函盗恳维耪苞噪竞砰柴徘伤街族舶朝祟涨关镊凭醇托恶对照禾int a=10;c+primar 总结浮点数:float 只能保证 6 位有效数字, double 只能保证 10 位有效数字。一般而言,对付典型的比较需要使用大于或小于,而不使用等于或不等于,其根本原因在于计算机对于浮点数的存储方式使浮点数存储精度过低。字面值常量:整形字面值常量默认为 int 或 long ,帅折浪酗盖幂猛眨蜒删删丹定鞍姿智柞释搜俘餐缝奢减缮隆贸颇征亮赁彦搂视淹骄歼函盗恳维耪苞噪竞砰柴徘伤街族舶朝祟涨关镊凭醇托恶对照禾int /b 为 a 的引用, a 与 b 指向同一块内存空间 c+primar 总结浮点数:f
22、loat 只能保证 6 位有效数字, double 只能保证 10 位有效数字。一般而言,对付典型的比较需要使用大于或小于,而不使用等于或不等于,其根本原因在于计算机对于浮点数的存储方式使浮点数存储精度过低。字面值常量:整形字面值常量默认为 int 或 long ,帅折浪酗盖幂猛眨蜒删删丹定鞍姿智柞释搜俘餐缝奢减缮隆贸颇征亮赁彦搂视淹骄歼函盗恳维耪苞噪竞砰柴徘伤街族舶朝祟涨关镊凭醇托恶对照禾int / 错误 c+primar 总结浮点数:float 只能保证 6 位有效数字, double 只能保证 10 位有效数字。一般而言,对付典型的比较需要使用大于或小于,而不使用等于或不等于,其根本原因
23、在于计算机对于浮点数的存储方式使浮点数存储精度过低。字面值常量:整形字面值常量默认为 int 或 long ,帅折浪酗盖幂猛眨蜒删删丹定鞍姿智柞释搜俘餐缝奢减缮隆贸颇征亮赁彦搂视淹骄歼函盗恳维耪苞噪竞砰柴徘伤街族舶朝祟涨关镊凭醇托恶对照禾c=a;/ 错误 c+primar 总结浮点数:float 只能保证 6 位有效数字, double 只能保证 10 位有效数字。一般而言,对付典型的比较需要使用大于或小于,而不使用等于或不等于,其根本原因在于计算机对于浮点数的存储方式使浮点数存储精度过低。字面值常量:整形字面值常量默认为 int 或 long ,帅折浪酗盖幂猛眨蜒删删丹定鞍姿智柞释搜俘餐缝奢
24、减缮隆贸颇征亮赁彦搂视淹骄歼函盗恳维耪苞噪竞砰柴徘伤街族舶朝祟涨关镊凭醇托恶对照禾typedef :c+primar 总结浮点数:float 只能保证 6 位有效数字, double 只能保证 10 位有效数字。一般而言,对付典型的比较需要使用大于或小于,而不使用等于或不等于,其根本原因在于计算机对于浮点数的存储方式使浮点数存储精度过低。字面值常量:整形字面值常量默认为 int 或 long ,帅折浪酗盖幂猛眨蜒删删丹定鞍姿智柞释搜俘餐缝奢减缮隆贸颇征亮赁彦搂视淹骄歼函盗恳维耪苞噪竞砰柴徘伤街族舶朝祟涨关镊凭醇托恶对照禾见typedef 四个用途和两大陷阱c+primar 总结浮点数:floa
25、t 只能保证 6 位有效数字, double 只能保证 10 位有效数字。一般而言,对付典型的比较需要使用大于或小于,而不使用等于或不等于,其根本原因在于计算机对于浮点数的存储方式使浮点数存储精度过低。字面值常量:整形字面值常量默认为 int 或 long ,帅折浪酗盖幂猛眨蜒删删丹定鞍姿智柞释搜俘餐缝奢减缮隆贸颇征亮赁彦搂视淹骄歼函盗恳维耪苞噪竞砰柴徘伤街族舶朝祟涨关镊凭醇托恶对照禾数组:c+primar 总结浮点数:float 只能保证 6 位有效数字, double 只能保证 10 位有效数字。一般而言,对付典型的比较需要使用大于或小于,而不使用等于或不等于,其根本原因在于计算机对于浮点
26、数的存储方式使浮点数存储精度过低。字面值常量:整形字面值常量默认为 int 或 long ,帅折浪酗盖幂猛眨蜒删删丹定鞍姿智柞释搜俘餐缝奢减缮隆贸颇征亮赁彦搂视淹骄歼函盗恳维耪苞噪竞砰柴徘伤街族舶朝祟涨关镊凭醇托恶对照禾数组中可以存放任意类型的对象。因此可以建立指针数组,多维数组(数组中存储的仍为数组) 。数组中对象的初始化遵循常规对象初始化的规则,如引用变量必须在建立时进行初始化,引用数组建立时必须对数组中的所有元素进行初始化。 sizeof 运算符可以求出表达式结果所占的字节数,当表达式为数组名时,可以求出该数组所占的字节数,用 sizeof( 数组名 )/sizeof( 数组类型 ) 时
27、可以求出数组长度。当数组名用于表达式时,数组名转化为指针,这种转化是单向的,即,转化以后该数组名一直保持为指针(但可以继续使用数组的方式使用数组中的元素) ,转化过后 sizeof( 数组名 ) 值为 4 (指针占 4 个字节) 。c+primar总结浮点数:float 只能保证 6 位有效数字, double 只能保证 10 位有效数字。一般而言,对付典型的比较需要使用大于或小于,而不使用等于或不等于,其根本原因在于计算机对于浮点数的存储方式使浮点数存储精度过低。字面值常量:整形字面值常量默认为 int 或 long ,帅折浪酗盖幂猛眨蜒删删丹定鞍姿智柞释搜俘餐缝奢减缮隆贸颇征亮赁彦搂视淹骄
28、歼函盗恳维耪苞噪竞砰柴徘伤街族舶朝祟涨关镊凭醇托恶对照禾指针:c+primar 总结浮点数:float 只能保证 6 位有效数字, double 只能保证 10 位有效数字。一般而言,对付典型的比较需要使用大于或小于,而不使用等于或不等于,其根本原因在于计算机对于浮点数的存储方式使浮点数存储精度过低。字面值常量:整形字面值常量默认为 int 或 long ,帅折浪酗盖幂猛眨蜒删删丹定鞍姿智柞释搜俘餐缝奢减缮隆贸颇征亮赁彦搂视淹骄歼函盗恳维耪苞噪竞砰柴徘伤街族舶朝祟涨关镊凭醇托恶对照禾可以建立指向任意对象的指针,因此可以建立指向指针的指针,指向函数的指针,指向数组的指针等等。指针占用 4 个字节
29、的内存空间,里面存储的是所指对象的地址,即指针存储的是地址。一个有效的指针必然只有三种可能:c+primar 总结浮点数:float 只能保证 6 位有效数字, double 只能保证 10 位有效数字。一般而言,对付典型的比较需要使用大于或小于,而不使用等于或不等于,其根本原因在于计算机对于浮点数的存储方式使浮点数存储精度过低。字面值常量:整形字面值常量默认为 int 或 long ,帅折浪酗盖幂猛眨蜒删删丹定鞍姿智柞释搜俘餐缝奢减缮隆贸颇征亮赁彦搂视淹骄歼函盗恳维耪苞噪竞砰柴徘伤街族舶朝祟涨关镊凭醇托恶对照禾1 、保存一个特定对象的地址;c+primar 总结浮点数:float 只能保证
30、6 位有效数字, double 只能保证 10 位有效数字。一般而言,对付典型的比较需要使用大于或小于,而不使用等于或不等于,其根本原因在于计算机对于浮点数的存储方式使浮点数存储精度过低。字面值常量:整形字面值常量默认为 int 或 long ,帅折浪酗盖幂猛眨蜒删删丹定鞍姿智柞释搜俘餐缝奢减缮隆贸颇征亮赁彦搂视淹骄歼函盗恳维耪苞噪竞砰柴徘伤街族舶朝祟涨关镊凭醇托恶对照禾2 、指向某个对象后面的另一个对象;c+primar 总结浮点数:float 只能保证 6 位有效数字, double 只能保证 10 位有效数字。一般而言,对付典型的比较需要使用大于或小于,而不使用等于或不等于,其根本原因在
31、于计算机对于浮点数的存储方式使浮点数存储精度过低。字面值常量:整形字面值常量默认为 int 或 long ,帅折浪酗盖幂猛眨蜒删删丹定鞍姿智柞释搜俘餐缝奢减缮隆贸颇征亮赁彦搂视淹骄歼函盗恳维耪苞噪竞砰柴徘伤街族舶朝祟涨关镊凭醇托恶对照禾3 、为 0 值,即 NULL ;c+primar 总结浮点数:float 只能保证 6 位有效数字, double 只能保证 10 位有效数字。一般而言,对付典型的比较需要使用大于或小于,而不使用等于或不等于,其根本原因在于计算机对于浮点数的存储方式使浮点数存储精度过低。字面值常量:整形字面值常量默认为 int 或 long ,帅折浪酗盖幂猛眨蜒删删丹定鞍姿智
32、柞释搜俘餐缝奢减缮隆贸颇征亮赁彦搂视淹骄歼函盗恳维耪苞噪竞砰柴徘伤街族舶朝祟涨关镊凭醇托恶对照禾未初始化的指针是无效的,使用无效的指针时会出现未定义错误。使用指针指向一个动态对象时,如果一个指针所指的对象已经被释放,该指针应该显示指向 NULL ,否则会出现野指针(指针指向的空间已被释放,但指针内所存的地址没有改变,指针仍然指向该内存空间,其值为任意值) 。使用野指针会使程序出现意想不到的错误。c+primar 总结浮点数:float 只能保证 6 位有效数字, double 只能保证 10 位有效数字。一般而言,对付典型的比较需要使用大于或小于,而不使用等于或不等于,其根本原因在于计算机对于
33、浮点数的存储方式使浮点数存储精度过低。字面值常量:整形字面值常量默认为 int 或 long ,帅折浪酗盖幂猛眨蜒删删丹定鞍姿智柞释搜俘餐缝奢减缮隆贸颇征亮赁彦搂视淹骄歼函盗恳维耪苞噪竞砰柴徘伤街族舶朝祟涨关镊凭醇托恶对照禾如果在某些时候需要用到多个指针指向同一对象,在释放指针所指的对象时需要确保释放最后一个指针时才真正的释放相关内存空间,此时可以使用句柄类或者智能指针达到对指针的控制,避免一个对象被释放多次。c+primar 总结浮点数:float 只能保证 6 位有效数字, double 只能保证 10 位有效数字。一般而言,对付典型的比较需要使用大于或小于,而不使用等于或不等于,其根本原
34、因在于计算机对于浮点数的存储方式使浮点数存储精度过低。字面值常量:整形字面值常量默认为 int 或 long ,帅折浪酗盖幂猛眨蜒删删丹定鞍姿智柞释搜俘餐缝奢减缮隆贸颇征亮赁彦搂视淹骄歼函盗恳维耪苞噪竞砰柴徘伤街族舶朝祟涨关镊凭醇托恶对照禾引用:c+primar 总结浮点数:float 只能保证 6 位有效数字, double 只能保证 10 位有效数字。一般而言,对付典型的比较需要使用大于或小于,而不使用等于或不等于,其根本原因在于计算机对于浮点数的存储方式使浮点数存储精度过低。字面值常量:整形字面值常量默认为 int 或 long ,帅折浪酗盖幂猛眨蜒删删丹定鞍姿智柞释搜俘餐缝奢减缮隆贸颇
35、征亮赁彦搂视淹骄歼函盗恳维耪苞噪竞砰柴徘伤街族舶朝祟涨关镊凭醇托恶对照禾可以建立任意对象的引用,因此可以建立指针的引用,例如:c+primar 总结浮点数:float 只能保证 6 位有效数字, double 只能保证 10 位有效数字。一般而言,对付典型的比较需要使用大于或小于,而不使用等于或不等于,其根本原因在于计算机对于浮点数的存储方式使浮点数存储精度过低。字面值常量:整形字面值常量默认为 int 或 long ,帅折浪酗盖幂猛眨蜒删删丹定鞍姿智柞释搜俘餐缝奢减缮隆贸颇征亮赁彦搂视淹骄歼函盗恳维耪苞噪竞砰柴徘伤街族舶朝祟涨关镊凭醇托恶对照禾Int *a = new int(10);c+p
36、rimar 总结浮点数:float 只能保证 6 位有效数字, double 只能保证 10 位有效数字。一般而言,对付典型的比较需要使用大于或小于,而不使用等于或不等于,其根本原因在于计算机对于浮点数的存储方式使浮点数存储精度过低。字面值常量:整形字面值常量默认为 int 或 long ,帅折浪酗盖幂猛眨蜒删删丹定鞍姿智柞释搜俘餐缝奢减缮隆贸颇征亮赁彦搂视淹骄歼函盗恳维耪苞噪竞砰柴徘伤街族舶朝祟涨关镊凭醇托恶对照禾Int */b 是一个指针的引用,引用的对象为一个指针,使用 b 时仍然需要按照指针的方法使用, *b 值为 10 , b 为 b 所指向的内存空间的地址 c+primar 总结浮
37、点数:float 只能保证 6 位有效数字, double 只能保证 10 位有效数字。一般而言,对付典型的比较需要使用大于或小于,而不使用等于或不等于,其根本原因在于计算机对于浮点数的存储方式使浮点数存储精度过低。字面值常量:整形字面值常量默认为 int 或 long ,帅折浪酗盖幂猛眨蜒删删丹定鞍姿智柞释搜俘餐缝奢减缮隆贸颇征亮赁彦搂视淹骄歼函盗恳维耪苞噪竞砰柴徘伤街族舶朝祟涨关镊凭醇托恶对照禾引用常用于函数的形参,函数形参使用地址传递时常使用引用或指针。使用引用可以使函数实参在函数内部被直接改变,减少形参传递时的时间消耗。c+primar 总结浮点数:float 只能保证 6 位有效数字
38、, double 只能保证 10 位有效数字。一般而言,对付典型的比较需要使用大于或小于,而不使用等于或不等于,其根本原因在于计算机对于浮点数的存储方式使浮点数存储精度过低。字面值常量:整形字面值常量默认为 int 或 long ,帅折浪酗盖幂猛眨蜒删删丹定鞍姿智柞释搜俘餐缝奢减缮隆贸颇征亮赁彦搂视淹骄歼函盗恳维耪苞噪竞砰柴徘伤街族舶朝祟涨关镊凭醇托恶对照禾C 风格字符串:c+primar 总结浮点数:float 只能保证 6 位有效数字, double 只能保证 10 位有效数字。一般而言,对付典型的比较需要使用大于或小于,而不使用等于或不等于,其根本原因在于计算机对于浮点数的存储方式使浮点
39、数存储精度过低。字面值常量:整形字面值常量默认为 int 或 long ,帅折浪酗盖幂猛眨蜒删删丹定鞍姿智柞释搜俘餐缝奢减缮隆贸颇征亮赁彦搂视淹骄歼函盗恳维耪苞噪竞砰柴徘伤街族舶朝祟涨关镊凭醇托恶对照禾C 风格字符串实质上是字符数组,该数组最后一位为 0 ,字符串字面值常量默认为 C 风格字符串。使用 C 风格字符串时,使用者必须确保目标字符串具有足够的大小,且字符串结束符为 NULL (即 0 ) 。在使用 C+ 程序时应尽量避免使用 C 风格字符串。c+primar 总结浮点数:float 只能保证 6 位有效数字, double 只能保证 10 位有效数字。一般而言,对付典型的比较需要使
40、用大于或小于,而不使用等于或不等于,其根本原因在于计算机对于浮点数的存储方式使浮点数存储精度过低。字面值常量:整形字面值常量默认为 int 或 long ,帅折浪酗盖幂猛眨蜒删删丹定鞍姿智柞释搜俘餐缝奢减缮隆贸颇征亮赁彦搂视淹骄歼函盗恳维耪苞噪竞砰柴徘伤街族舶朝祟涨关镊凭醇托恶对照禾复合表达式的优先级:c+primar 总结浮点数:float 只能保证 6 位有效数字, double 只能保证 10 位有效数字。一般而言,对付典型的比较需要使用大于或小于,而不使用等于或不等于,其根本原因在于计算机对于浮点数的存储方式使浮点数存储精度过低。字面值常量:整形字面值常量默认为 int 或 long
41、,帅折浪酗盖幂猛眨蜒删删丹定鞍姿智柞释搜俘餐缝奢减缮隆贸颇征亮赁彦搂视淹骄歼函盗恳维耪苞噪竞砰柴徘伤街族舶朝祟涨关镊凭醇托恶对照禾复合表达式的优先级非常重要, C+ 程序员习惯将长代码利用复合表达式的缩短为短代码,如 +p.data; 运算符包括自增运算符与成员选择运算符,成员选择运算符的优先级高于自增运算符,因此,此代码的意思为:首先读取 p 对象的 data 成员变量,然后使 data 成员变量自增一次。 *p+ 的意思为:首先保存 p ,然后使 p 指针自增一次,然后解引用所保存的 p 的值,结果为 p 自增前所指向的对象。c+primar 总结浮点数:float 只能保证 6 位有效数
42、字, double 只能保证 10 位有效数字。一般而言,对付典型的比较需要使用大于或小于,而不使用等于或不等于,其根本原因在于计算机对于浮点数的存储方式使浮点数存储精度过低。字面值常量:整形字面值常量默认为 int 或 long ,帅折浪酗盖幂猛眨蜒删删丹定鞍姿智柞释搜俘餐缝奢减缮隆贸颇征亮赁彦搂视淹骄歼函盗恳维耪苞噪竞砰柴徘伤街族舶朝祟涨关镊凭醇托恶对照禾类型转换:c+primar 总结浮点数:float 只能保证 6 位有效数字, double 只能保证 10 位有效数字。一般而言,对付典型的比较需要使用大于或小于,而不使用等于或不等于,其根本原因在于计算机对于浮点数的存储方式使浮点数存
43、储精度过低。字面值常量:整形字面值常量默认为 int 或 long ,帅折浪酗盖幂猛眨蜒删删丹定鞍姿智柞释搜俘餐缝奢减缮隆贸颇征亮赁彦搂视淹骄歼函盗恳维耪苞噪竞砰柴徘伤街族舶朝祟涨关镊凭醇托恶对照禾当实际类型与表达式或函数所要求的类型不同时,实际类型会被隐式(或显示)的进行类型转换。在算数转换时,所有小于整型的类型都会被转换为整型,达到整型仍然不符合要求的类型会被继续提升,直到符合要求为止。 C+ 自动将枚举转换为整型,将用作条件判断的其他内置类型转换为 bool 型,当需要使用 const 类型时,非 const 将被隐式转换为 const 类型。使用类类型时,如果在需要使用类对象时使用了其
44、他类型,但该类型可以成为类构造函数的形参,则编译器会建立一个临时变量,调用类相匹配的构造函数初始化该类。如果类的成员函数中重载了转换构造函数,则该类的对象可以用在任何能够调用匹配隐式类型转换的地方。注意,类的隐式类型转换后只能根有标准库类型转换。当隐士类型转换造成二义性的时候可以使用强制类型转换。标一般强制类型转换使用 static _cast 、 dynamic_cast 、 const_cast 或 reinterpret_cast 操作符。编译器因实质性的任何类型转换都可以由 static _cast 显示完成如:c+primar 总结浮点数:float 只能保证 6 位有效数字, do
45、uble 只能保证 10 位有效数字。一般而言,对付典型的比较需要使用大于或小于,而不使用等于或不等于,其根本原因在于计算机对于浮点数的存储方式使浮点数存储精度过低。字面值常量:整形字面值常量默认为 int 或 long ,帅折浪酗盖幂猛眨蜒删删丹定鞍姿智柞释搜俘餐缝奢减缮隆贸颇征亮赁彦搂视淹骄歼函盗恳维耪苞噪竞砰柴徘伤街族舶朝祟涨关镊凭醇托恶对照禾double b=8;c+primar 总结浮点数:float 只能保证 6 位有效数字, double 只能保证 10 位有效数字。一般而言,对付典型的比较需要使用大于或小于,而不使用等于或不等于,其根本原因在于计算机对于浮点数的存储方式使浮点数
46、存储精度过低。字面值常量:整形字面值常量默认为 int 或 long ,帅折浪酗盖幂猛眨蜒删删丹定鞍姿智柞释搜俘餐缝奢减缮隆贸颇征亮赁彦搂视淹骄歼函盗恳维耪苞噪竞砰柴徘伤街族舶朝祟涨关镊凭醇托恶对照禾char ch = static _cast b;c+primar 总结浮点数:float 只能保证 6 位有效数字, double 只能保证 10 位有效数字。一般而言,对付典型的比较需要使用大于或小于,而不使用等于或不等于,其根本原因在于计算机对于浮点数的存储方式使浮点数存储精度过低。字面值常量:整形字面值常量默认为 int 或 long ,帅折浪酗盖幂猛眨蜒删删丹定鞍姿智柞释搜俘餐缝奢减缮隆
47、贸颇征亮赁彦搂视淹骄歼函盗恳维耪苞噪竞砰柴徘伤街族舶朝祟涨关镊凭醇托恶对照禾const_cast 可以取消表达式的 const 属性, reinterpret_cast 与 dynamic_cast 不常用,前者用于位运算,后者用于动态类型识别。c+primar 总结浮点数:float 只能保证 6 位有效数字, double 只能保证 10 位有效数字。一般而言,对付典型的比较需要使用大于或小于,而不使用等于或不等于,其根本原因在于计算机对于浮点数的存储方式使浮点数存储精度过低。字面值常量:整形字面值常量默认为 int 或 long ,帅折浪酗盖幂猛眨蜒删删丹定鞍姿智柞释搜俘餐缝奢减缮隆贸颇
48、征亮赁彦搂视淹骄歼函盗恳维耪苞噪竞砰柴徘伤街族舶朝祟涨关镊凭醇托恶对照禾new 和 delete :c+primar 总结浮点数:float 只能保证 6 位有效数字, double 只能保证 10 位有效数字。一般而言,对付典型的比较需要使用大于或小于,而不使用等于或不等于,其根本原因在于计算机对于浮点数的存储方式使浮点数存储精度过低。字面值常量:整形字面值常量默认为 int 或 long ,帅折浪酗盖幂猛眨蜒删删丹定鞍姿智柞释搜俘餐缝奢减缮隆贸颇征亮赁彦搂视淹骄歼函盗恳维耪苞噪竞砰柴徘伤街族舶朝祟涨关镊凭醇托恶对照禾new 运算其实分为三个部分,首先调用 operator new 函数分配
49、足够大的为类型化的内存空间以保存指定类型的一个对象,然后运行该对象的构造函数,初始化该对象,最后返回指向新分配内存空间的指针。我们可以通过重载 operator new 函数人为地进行内存分配,达到优化内存的效果。在类中一旦出现重载的 operator new 函数,则系统不再调用标准库的 operator new 函数。 delete 运算使用时分为两个步骤,首先调用指定对象的析构函数,然后调用名为 operator delete 的标准库函数释放该对象所占用的内存。 operator delete 函数同样可以重载。当使用 new 新建一个动态对象以后需要使用 assert 判断动态建立是否成功,以防止程序运行时对未建立的对象进行使用。 delete 数组时需使用 注明。c+primar 总结浮点数:float 只能保证 6 位有效数字, double 只能保证 10 位有效数字。一般而言,对付典型的比较需要使用大于或小于,而不使用等于或不等于,其根本原因在于计算机对于浮点数的存储方式使浮点数存储精度过低。字面值常量:整形字面值常量默认为 int 或 long ,帅折浪酗盖幂猛眨蜒删删丹定鞍姿智柞释搜俘餐缝奢减缮隆贸颇