随笔分类 -  C++学习笔记

摘要:C++中,每一个类的成员函数(除static成员函数之外)都有一个额外的、隐含的形参this。在调用成员函数时,形参this初始化为调用函数的对象的地址。 这就可以理解在定义类的成员函数时,使用的this指针从何而来,该this指针从成员函数的这个隐含的形参this传入。 在成员函数中,不必显示地使用this指针来访问被调用函数所属对象的成员。对这个类的成员的任何没有前缀的引用,都被假定为通过指针this实现的引用。 阅读全文
posted @ 2013-09-07 10:01 ppffs 阅读(294) 评论(0) 推荐(0)
摘要:迭代器(iterator):是一种检查容器内元素并遍历所有元素的数据类型。 每个容器类都定义了自己的迭代器类型,如vector: vector::iterator iter; 这条语句定义了一个名为iter的变量,它的数据类型是由vector定义的iterator类型。 每种容器都定义了一对命名为begin和end的函数,用于返回迭代器。如果容器中有元素的话,由begin返回的迭代器指向第一个元素: vector::iterator iter = ivec.begin(); 上述语句把iter初始化为由名为begin的vector操作返回的值。假设vector不空,初始化后,i... 阅读全文
posted @ 2013-08-08 17:32 ppffs 阅读(282) 评论(0) 推荐(0)
摘要:变量的定义(definition)用于为变量分配存储空间,还可以为变量指定初始值。在一个程序中,变量有且只有一个定义。 声明(declaration)用于向程序表明变量的类型和名字。定义也是声明:当定义变量时我们声明了它的类型和名字。可以通过使用extern关键字声明变量名而不定义它。不定义变量的声明包括对象名、对象类型和对象类型前的关键字extern: extern int i; // declares but does not define i int i; // declares and defines i extern声明不是定义,也不分配存储空间。事实上,它只是... 阅读全文
posted @ 2013-08-08 11:03 ppffs 阅读(242) 评论(0) 推荐(0)
摘要:变量定义制定了变量的类型和标示符,也可以为对象提供初始值。定义时指定了初始化的对象被称为是已初始化的(initialized)。C++支持两种初始化变量的形式:复制初始化(cooy-initialization)和直接初始化(direct-initialization)。复制初始化语法用等号(=),直接初始化则是把初始化式放在括号中: int ival(1024); // direct-initialization int ival = 1024; // copy-initialization 对于以上两种类型的初始化: 对内置类型来说:复制初始化和直接初始化几乎没有差别; 对... 阅读全文
posted @ 2013-08-08 10:49 ppffs 阅读(260) 评论(0) 推荐(0)
摘要:>为C++的输入操作符,行为与输出操作符类似。它接受一个istream对象作为其左操作数,接受一个对象作为其右操作数,它从istream操作数读取数据并保存到右操作数中。像输出操作符一样,输入操作符返回其左操作数作为结果。 阅读全文
posted @ 2013-08-07 20:15 ppffs 阅读(397) 评论(0) 推荐(0)