随笔分类 -  c++要注意的一些问题.

摘要:如果确信一个成员函数不用修改它的对象,就可以声明它为const,这样就可以作用于他的const对象了.因为const对象只能调用它的const方法. 1 template class Vector 2 { 3 public: 4 int length() const//如果这里没有const... 阅读全文
posted @ 2014-08-10 13:03 CrazyCode. 阅读(201) 评论(0) 推荐(0) 编辑
摘要:记得在复制构造函数和赋值操作符的参数类型上加上const.正确的复制构造函数应该是X::X(const X&)这种,而不是X::X(X&)这种,这里有两个原因.第一:绑定一个非const引用到一个临时对象是非法的.使用X::X(X&)作为复制构造函数不会允许复制任何特殊表达式的结果.为什么呢.?因为... 阅读全文
posted @ 2014-08-10 12:54 CrazyCode. 阅读(226) 评论(0) 推荐(0) 编辑
摘要:const引用.const引用是指向const对象的引用:const int ival = 1024;const int &refVal = ival; 正确,引用和引用的对象都是constint &ref2 = ival; 这是错误的,因为引用不是constint i = 42;const int &r = 42//这是正确的,但是 int &r = 42.这个就是错误的.const int &r2 = r+i;非const引用只能帮顶到与该引用同类型的对象const引用则可以帮顶到不同但相关的类型的对象或帮顶到右值. 阅读全文
posted @ 2014-03-13 10:29 CrazyCode. 阅读(119) 评论(0) 推荐(0) 编辑
摘要:转载的:http://www.cnblogs.com/qyaizs/articles/2039101.html分三块来讲述: 1 首先://注意在C和C++里不同 在C中定义一个结构体类型要用typedef: typedef struct Student { int a; }Stu; 于是在声明变量的时候就可:Stu stu1;(如果没有typedef就必须用struct Student stu1;来声明) 这里的Stu实际上就是struct Student的别名。Stu==struct Student 另外这里也可以不写Student(于是也... 阅读全文
posted @ 2014-02-08 11:59 CrazyCode. 阅读(188) 评论(0) 推荐(0) 编辑
摘要:为了节省内存,c/c++把常量字符串放到单独的一个内存区域。当几个指针赋值给相同的常量字符串时,它们实际上会指向相同的内存地址。但用常量内存初始化数组,情况却有所不同。int _tmain(int argc, _TCHAR* argv[]){ char str1[]="hello world"; char str2[]="hello world"; char* str3 = "hello world"; char* str4 = "hello world"; cout<<(str1==str2)< 阅读全文
posted @ 2013-10-27 14:44 CrazyCode. 阅读(364) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示