C++Primer学习笔记简介.doc

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C++ Primer学习笔记 第2章 变量和基本类型 在命令行下看main函数的返回值,Unix为(echo $?),Windows为(echo %ERRORLEVEL%)。 为了兼容C语言,C++中所有的字符串字面值都由编译器自动在末尾添加一个空字符(null)。 多行字面值:在一行的末尾加一反斜线符号(\)可将此行和下一行当做同一行处理。 C++支持两种初始化变量的形式:复制初始化和直接初始化。复制初始化语法用等号(=),直接初始化则是把初始化放在括号中。 声明和定义:声明不能初始化,也不会分配空间。在C++语言中,变量必须且仅能定义一次,而且在使用变量之前必须定义或声明变量。 因为常量在定义后就不能被修改,所以定义时必须初始化。非const变量默认为extern,const变量默认非extern。 引用是别名:必须在定义引用时进行初始化。当引用初始化后,只要该引用存在,它就保持绑定到初始化时指向的对象,不可能将应用绑定到另一个对象。不能定义引用类型的引用。 const引用是指向const的引用,可以绑定到const对象、非const对象和右值。非const引用只能绑定到非const对象。 因为头文件包含在多个源文件中,所以不应该含有变量或函数的定义。但有三例外:头文件可以定义类、值在编译时就知道的const对象和inline函数。 第3章 标准库类型 不应该在头文件中使用using (namespace),因为头文件会影响包含它的源文件。 任何存储string的size操作结果的变量必须为string::size_type类型。特别重要的是,不要把size的返回值赋值给一个int变量。(为什么我测试可以???) 当进行string对象和字符串字面值混合连接操作时,+操作符的左右操作数必须至少有一个是string类型的。 vector:vector容器内的元素可以通过下标操作和迭代器进行访问修改,但添加元素必须通过vector的方法insert、push_back才行。 const_iterator vs const 的iterator:const_iterator是指迭代器指向的内容的值不能改变,用来只读vector;const的iterator是指迭代器不能改变,很少用到。 任何改变vector长度的操作都会使已存在的迭代器失效。例如,再调用push_bach之后,就不能再信赖指向vector的迭代器的值了。 string、vector、bitset是由标准库提供的类型,所以他们都有相应的方法;C++提供的内置类型int、数组、指针等都没有提供方法。 第4章 数组和指针 数组维数必须用值大于1的常量表达式定义,不允许数组直接复制和赋值。 指针保存0值,表明它不指向任何对象,所以删除指针后置0是个好办法。 C++提供了一种特殊的指针类型void*,它可以保存任何类型对象的地址。void*指针只支持几种有限的操作:与另一个指针进行比较;向函数传递void*指针或者从函数返回void*指针;给另一个void*指针赋值。不允许使用void*指针操纵它所指向的对象。 指向const对象的指针和const指针:指向const对象的指针(const int * pi)不能通过该指针修改指向对象的值;const指针(int *const pi)指针本身不能变。 指针和引用:引用是别名,必须在定义时初始化,且定义后不能再绑定到其他对象。 C风格字符串:char数组,且以null结束。char ca[]={c,+,+,\o};char *ca1=”primer”; sizeof的时候会算上\0,strlen不会算上\0。 用new创建动态数组:int size=get_size();int *p=new int[size]; 用delete释放空间:delete [] p;([]必须,数组的释放不同一般指针的释放) int *ip[4]:声明了一个4维度的指针数组 int (*ip)[4]:声明了一个指向数组的指针,可以迭代二维数组。 第5章 表达式 sizeof操作符的作用是返回一个对象或类型名的长度,返回值的类型为size_t。数组ia的元素个数:int size=sizeof(ia)/sizeof(*ia); 逗号表达式是一组由逗号分隔的表达式,这些表达式从左向右计算。逗号表达式的结果是其最右边表达式的值。 类型转换(分隐式转换和显式转换)。有四种强制类型转换符:static_cast、dynamic_cast、const_cast、reinterpret_cast。dynamic_cast操作符用于将基类类型对象的引用或指针转换为同一继承层次中其他类型的引用或指针。const_cast用于转换掉

文档评论(0)

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

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

1亿VIP精品文档

相关文档