08 2011 档案

右值引用的一些研究
摘要:以下的内容是最新的c++0x标准当中的,其中vs2010是符合这个标准的TypeName&&表示右值引用类型: 为了判断一个表达式是左值还是右值,第一个想法是写函数来判断,函数不能模板特化,因此通过重载来确定是不错的方法: 第一个函数接受非const左值: template<class T>void GetValType(T&){ cout << "Not a Right Value, a T" ... 阅读全文

posted @ 2011-08-31 18:34 Observer 阅读(353) 评论(0) 推荐(0)

c++强制类型转换的一些研究
摘要:c++相对于c在强制类型转换上的区别还是很大的,除了引入了c中不可能有的dynamic_cast外还将原c中的强制类型转换:(Type_name)expr分拆变成几个不相交的强制类型转换:static_cast,const_cast,reinterpret_cast首先从由简单到复杂分别解释这三个不相交的强制类型转换在指针和引用上的表现:const_cast<T*>(expr) 或 const_cast<T&>(expr)(以后就只写指针的形式,毕竟指针和引用在编译后的代码上没有区别):如其名所示是随意改变某个表达式的const性和volatile的,其他的功能 阅读全文

posted @ 2011-08-30 18:57 Observer 阅读(885) 评论(0) 推荐(0)

导航