lightblueme

许多问题需要说清楚就可以&&走永远比跑来的重要

导航

2015年5月9日 #

理解-const

摘要: c++ 中const和c中define的区别(1) 编译器处理方式不同define宏是在预处理阶段展开。const常量是编译运行阶段使用。(2) 类型和安全检查不同define宏没有类型,不做任何类型检查,仅仅是展开。const常量有具体的类型,在编译阶段会执行类型检查。(3) 存储方式不同defi... 阅读全文

posted @ 2015-05-09 22:16 lightblueme 阅读(171) 评论(0) 推荐(0) 编辑

理解-加号重载要使用全局函数+返回值非引用

摘要: 一、C++中的加号重载使用全局函数的一个有点是可以使用级联的方式进行加法操作。Fraction a,b,c,d,e;A=b+c+d+e;若为成员函数1、返回的b的this指针分别作用于后面的变量,因此是对b的修改;2、如果返回一个新的变量,上面的级联的问题似乎可以解决。3、问题在于如果存在隐式类型转... 阅读全文

posted @ 2015-05-09 22:09 lightblueme 阅读(310) 评论(0) 推荐(0) 编辑

Effective C++ 随笔(5)

摘要: 条款27:尽量稍作转型动作 const_cast:常量性移除dynamic_cast:安全向下转型reinterpret_cast:static_cast:如在子类当中享调用父类当中的某个方法,尝试使用转型方式,将其转换为父类的方式是不对的static_cast(*this).function();... 阅读全文

posted @ 2015-05-09 21:59 lightblueme 阅读(140) 评论(0) 推荐(0) 编辑

Effective C++ 随笔(4)

摘要: 条款21:必须返回对象时,别妄想返回其reference例子:Raional类可以执行有理数的一些运算,并且使用heap内存申请 并且其operator*函数为const Rational& operator*(const Rational& lhs,const Rational& rhs){ Ra... 阅读全文

posted @ 2015-05-09 21:55 lightblueme 阅读(120) 评论(0) 推荐(0) 编辑

Effective C++ 随笔(3)

摘要: 条款12: 以对象管理资源 两种只能指针: std:auto_ptr当使用copy操作室,原先的智能指针指向为nullstd:tr1:share_ptr spi();当可以多个指向同样的地址,但是当delete是会进行根据指向改地址的指针数量是否要delete这块内存条款13 在资源管理中小心cop... 阅读全文

posted @ 2015-05-09 21:51 lightblueme 阅读(127) 评论(0) 推荐(0) 编辑

Effective C++ 随笔(2)

摘要: 条款5 了解c++默默编写并调用哪些函数编译器自动生成的copy 构造函数,copy赋值操作符,析构函数,构造函数,这些都是public和inline的,此处inline的意思是他们的定义都是在头文件当中的假设有一个引用类型的数据成员,那么上面的赋值操作是不对的,因为引用不能改变条款6 如不想使用编... 阅读全文

posted @ 2015-05-09 21:45 lightblueme 阅读(121) 评论(0) 推荐(0) 编辑

Effective C++ 随笔(1)

摘要: 条款一 c++ 为一个语言联邦1、四个层次 C:blocks,语句,预处理器,内置数据类型,数组,指针面向对象的C++:封装,多态,继承Template C++STL条款二 尽量以const,enum,inline代替#define Static const常量的声明和定义,声明应该是在头文件当中,... 阅读全文

posted @ 2015-05-09 21:44 lightblueme 阅读(163) 评论(0) 推荐(0) 编辑

c++中指针的指针和指针的引用的使用

摘要: 当指针作为函数的参数进行传递时,实际上本质上是安置传递,即将指针进行了一份拷贝,在函数的内部对这个指针的修改实际上就是对一个在函数内部的那个局部变量的修改。这点事和引用不同的,引用实际上是在参数传递时,将实际变量的地址传了进去,在函数内部访问这个变量时,实际上是使用间接访问的方式来进行了的,所以实际... 阅读全文

posted @ 2015-05-09 21:33 lightblueme 阅读(2384) 评论(0) 推荐(0) 编辑