摘要:
好久都没搞c++,写个c++类报“构造函数不能有返回类型”,在MSDN上找了半天都没有解决问题!太郁闷了。谷歌一下,才找到原因:原来是我定义的类后面没有用“;”结尾,构造函数默认把整个类作为返回值了 阅读全文
摘要:
声明指针时,可以在类型前或后使用关键字const,也可在两个位置都使用。例如,下面都是合法的声明,但是含义大不同:const int * pOne;//指向整形常量的指针,它指向的值不能修改int * const pTwo;//指向整形的常量指针,它不能在指向别的变量,但指向(变量)的值可以修改。const int *const pThree; //指向整形常量的常量指针。它既不能再指向别的常量,指向的值也不能修改。理解这些声明的技巧在于,查看关键字const右边来确定什么被声明为常量,如果该关键字的右边是类型,则值是常量;如果关键字的右边是指针变量,则指针本身是常量。下面的代码有助于说明这一 阅读全文
摘要:
有关指针的争论备受瞩目。这是因为在程序中由于指针引发的错误可能是最难发现和最难解决的。在C++中导致难以发现和解决的错误的罪魁祸首是迷途(stray)指针。迷途指针也被称为失控(wild)指针或悬浮(dangling)指针,是将delete用于指针(从而释放它指向的内存),但没有将它设置为空时引发的。如果随后你在没有重新赋值的情况下使用该指针,后果将是不可预料的:程序崩溃算你走运。就如同交通银行变更了号码,但你仍去按原来绑定的按钮。这可能不会导致什么严重后果——也许这将拨向一个无人仓库的电话,另一方面,也许这个号码已经被重新分配给了一个军工厂,你拨打电话可能引发爆炸,将整个城市摧毁。总之,对指 阅读全文