07 2017 档案
摘要:1.一个lambda表达式表示一个可调用的代码单元,可以理解为一个未命名的内联函数,但是与函数不同,lambda表达式可能定义在函数内部。其形式如下: [capture list] (parameter list) -> return type { function body } capture l
阅读全文
摘要:1.标准库中定义了一些顺序容器,所有顺序容器都提供了快速顺序访问元素的能力。 2.如果容器的元素类型没有默认构造函数,那么在构造这个容器的时候不能只指定这个容器的数目,因为没有办法默认构造这些元素。 3.常见的一些容器操作 4.当一个容器初始化另一个容器拷贝时,两个容器的元素类型必须完全匹配,如果用
阅读全文
摘要:1.定义在类内部的函数是隐式的inline函数。 2.因为this的目的总是指向“这个”对象,所以this是一个常量指针,我们不允许改变this中保存的地址。 3.常量成员函数:允许把const关键字放在成员函数的参数列表之后,此时紧跟在参数列表后面的const表示this是一个指向常量的指针。因为
阅读全文
摘要:switch 内部的变量定义 1.因为C++语言规定,不允许跨过变量的初始化语句直接跳转到该变量作用域内的另一位置,所以有了如下情况: 2. switch语句里不能够使用 continue 语句,除非它内嵌在其他的迭代语句之中。 goto 语句 1.和switch语句类似,goto语句也不能将程序的
阅读全文
摘要:1.因为const对象一旦创建后其值就不能再改变,所以const对象必须初始化。 2.默认情况下const对象只在文件内有效,如果想在多个文件之间共享const对象,必须在变量的定义之前添加extern关键字。 3.允许为一个常量引用绑定非常量的对象,字面值,甚至是个一般表达式。 4.顶层const
阅读全文
摘要:1. 初始化不是赋值,初始化的含义是创建变量时赋予其一个初始值,而赋值的含义是把对象的当前值擦除,而以一个新值来代替。 2.使用列表初始化内置类型的变量时,如果初始值存在丢失信息的风险,则编译器将报错。 3.如果想声明一个变量而非定义它,就在变量名前添加关键字extern,而且不要显示的初始化它,任
阅读全文
摘要:1.函数内的局部静态对象在程序的执行路径第一次经过对象定义语句的时候初始化,并且直到程序终止才被销毁,在此期间即使对象所在的函数结束执行也不会对它有影响。 size_t get_count() { static size_t count = 0; return ++count; } 2.当实参初始化
阅读全文
摘要:1.C++语言并未定义任何输入输出语句,取而代之,包含了一个全面的标准库来提供IO机制。 由上图能够知道,I/O操作的基类是ios_base,各个类的用途例如以下: <iostream> istream 从流中读取数据 ostream 向流中写数据 iostream 对流进行读写操作。派生于istr
阅读全文
摘要:1.算术类型分为两类:整型和浮点型。算术类型的尺寸在不同机器上有所差别,下表列出了C++标准规定的尺寸的最小值。同时允许编译器赋予这些类型更大的尺寸。 一个char的大小和一个机器字节一样。 一个int至少和一个short一样大; 一个long至少和一个int一样大; 一个long long至少和一
阅读全文
摘要:我们知道:0是一个int,而不是一个指针。如果C++在一个只有指针才能够使用的上下文中发现它只有一个0,那么它会勉强将0解释成空指针,但那时一种倒退行为。C++的主要方针是0就是一个int,而不是指针。 实际上来说,对于NULL也是一样。关于NULL还有一些不确定因素,因为其实现允许给NULL一个整
阅读全文
摘要:1.数组的大小是固定不变的,声明时必须指定大小(或者使用列表初始化),而且大小必须大于0,C++ Primer里面也建议,如果不确定元素的个数,请使用vector。 int arr[3]; int arr1[] = { 0 , 1, 2 }; //数组长度固定为3 2.和内置类型一样,如果在函数内部
阅读全文

浙公网安备 33010602011771号