c++ primer summary.docx

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

Primer c++ 5 chapter 8getline()含有三个参数,getline(cin,str)以回车符为结束标志。所以运行时需要敲2次回车才能显示string。cin,最常用的输入,会自动把回车符,空格,tab等不可见字符滤掉。当接受一个字符串时,遇到不可见字符会结束输入。cin.get();从输入流中读取一个字符或者数字,注意回车是滤不掉的。接受字符串时,当大于字符串长度或者遇到\0时结束。cin.getline(str,size);以\0结束。引用,指针,变量的作用域,函数的返回值,针对第8章编程练习5,6题引申出的问题。参见第8章相关内P247引用变量必须在定义的同时进行初始化。引用变量是变量的别名,修改引用变量的同时也修改了变量,所以可以通过按引用传递值来交换变量。按值传递和按引用传递各有优点。不要将表达式赋给实参,会出现警告错误。如果实参和引用参数不匹配,将生成临时变量(只在函数调用期间存在),使得引用参量成为该临时变量的引用,且此引用参数是const。对于常量引用,当实参类型正确,但不是左值(非左值指的是字面常量和含有多项式的表达式),或者实参类型不正确,但可以转化为正确类型时才引入临时变量。尽可能将形参声明为const。引用经常用于结构和类。通常将返回的引用声明为const。返回机制通常将返回值复制在临时存储区域中,随后调用程序将访问该区域。而返回引用意味着调用程序不需拷贝直接访问该返回值。返回引用的函数实际是被引用变量的别名。返回引用时要避免返回函数结束时不再存在的内存引用。ostream类输出的格式化ios_base::fmtflags initial;initial = ostream.setf(ios_base::fixed);ostream.setf(ios_base::showpoint);ostream.precision(2);//set showpoint like this until next seting ostream.precision(n)os.width(10);// only function in next output and then set it default if you don’t set width.………………………..ostream.setf(initial);传递类对象的参数的标准方式是按引用传递。默认参数值必须通过函数原型声明,必须从右往左添加。函数重载(overload)的关键是特征标(参数列表的参数数目,参数类型,参数排列顺序)。函数名称相同,特征标不同。参数引用和参数本身被视为一样的。重载的实现是编译器根据同名函数的不同参数列表生成不同的不同的函数。函数覆盖(override):派生类重写父类的虚函数,参数列表相同,返回值和父类相同或者是父类的子类。函数模板:函数的通用描述。templateclass Tvoid fuction_name(T varible1, T v2,…);使用函数模板的好处是,可以使生成不同参数类型的函数更简单方便。但并不会缩短可执行代码。最终生成的代码并不包含函数模板。显式具体化(explicit specialization):一个具体化函数定义。不使用模板函数,需要独立定义。其匹配优先级高于模板,低于非模版函数。函数原型为templatetype1 functiontype(type a, type b);模板实例化(explicit instantiation):函数原型为template type1 functiontype(type a, type b);指向非const数据的指针和引用优先于非const数的指针和引用参数匹配。const和非const之间的区别只限于指针和引用指向的数据。实参经过允许的转化而和形参匹配。非模版函数优于模板。同为模板函数时,较具体的模板函数(匹配时执行的转换最少)优先级高。c++ primer 5 chapter 9常规全局变量只有在已经定义(为其分配内存)之后再在其他文件中加extern关键字声明,在声明的同时不允许初始化,此声明只表示是已有变量的引用。静态变量在固定的内存中,不需要堆栈。在整个程序执行期间都存在。默认初始化为0,只能用常量表达式来进行初始化.可能具有内链性。寄存器变量是自动变量,不放在内存中,不能将地址操作用于寄存器变量。自动变量的初始化,可以用一切有值的表达式,自动变量的作用域是局部的,没有连接性。说明符:auto, register, static, extern,mutable(即使结构体为const,仍可以修改有此关键字的成员变量)cv-限定符:const, volatile。const 全局变量相当于静态全局

文档评论(0)

2232文档 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档