"=="和equals方法究竟有什么区别?(单独把一个东西说清楚,然后再说清楚另一个,这样,它们的区别自然就出来了,混在一起说,则很难说清楚)==操作符专门用来比较两个变量的值是否相等,也就是用于比较变量所对应的内存中所存储的数值是否相同,要比较两个基本类型的数据或两个引用变量是否相等,只能用==操... Read More
posted @ 2014-05-23 06:56 findumars Views(25105) Comments(4) Diggs(10)
C++标准明确规定,不能获取构造函数和析构函数的地址,因此也无法形成指向他们的成员函数指针。指向成员函数的指针可以,指向构造函数析构函数的不行。因为构造函数和析构函数都是没有返回值的,无法声明一个没有返回值的成员函数指针。但是通过汇编代码,有可能获得它,这是代码,但我在VC6上没有能够编译通过:#i... Read More
posted @ 2014-05-23 04:32 findumars Views(3097) Comments(0) Diggs(0)
说实话,从来没有感觉到这个关键字有用,直到今天。 explicit的意思是明显的,和它相对应的一个词是implicit意思是隐藏的。 我参考了MSDN和《c++标准程序库》对这个关键字的描述,并参考了网络上对这个关键字的解释。现将它的使用方法和总结记录如下: 首先这个关键字只能用在类构造函数。它的作 Read More
posted @ 2014-05-23 04:14 findumars Views(522) Comments(1) Diggs(0)
关键字mutable是C++中一个不常用的关键字,他只能用于类的非静态和非常量数据成员我们知道一个对象的状态由该对象的非静态数据成员决定,所以随着数据成员的改变,对像的状态也会随之发生变化! 如果一个类的成员函数被声明为const类型,表示该函数不会改变对象的状态,也就是该函数不会修改类的非静态数据 Read More
posted @ 2014-05-23 03:51 findumars Views(705) Comments(0) Diggs(0)
volatile关键字 volatile关键字是一种类型修饰符,用它声明的类型变量表示可以被某些编译器未知的因素更改,比如:操作系统、硬件或者其它线程等。遇到这个关键字声明的变量,编译器对访问该变量的代码就不再进行优化,从而可以提供对特殊地址的稳定访问。使用该关键字的例子如下: int volati Read More
posted @ 2014-05-23 03:44 findumars Views(498) Comments(0) Diggs(0)
记下以后所有碰到使用数组名称时候的是是非非:int main(int argc, char* argv[]){ char x[3]="abc"; // 编译错误 char a[3]={'a','b','c'}; char b[3]; b=a; // 常指针不能赋值 re... Read More
posted @ 2014-05-23 03:37 findumars Views(383) Comments(0) Diggs(0)
会记下所有C++类型转换的例子在这里:#include "stdafx.h"#include using namespace std;int main(int argc, char* argv[]){ cout<< 22/5*3 <<endl; // 输出12,注意连进位都没有包括 re... Read More
posted @ 2014-05-23 03:29 findumars Views(316) Comments(0) Diggs(0)
以下三种情况皆错,都编译不过:int main(int argc, char* argv[]){ int a; int b[a];}int main(int argc, char* argv[]){ int a=4; int b[a];}int main(int argc, ... Read More
posted @ 2014-05-23 03:27 findumars Views(529) Comments(0) Diggs(0)