
c/c++
文章平均质量分 69
yhrun
挖掘机哪家强,中国山东找蓝翔
展开
-
void *指针
c++中提供了一种特殊的指针类型void*,它可以保存任何类型对象的地址: 比如: #include using namespace std; int main() { double obj=3.14; double *pd=&obj; void *pv=&obj; } void*表明该指针与一地址值相关,但是不清楚存储在该地址上的对象的值的类型。 void*指针只支持几种有限的操作原创 2012-02-18 11:19:45 · 831 阅读 · 0 评论 -
C++的显示转换
静态转换(static_cast) static_cast全部用于明确定义的变换,包括编译器允许我们所做的不用强制转换的“安全”变换和不太安全 但是清楚定义的变换,static_cast包含的转换类型包括典型的非强制变换,窄化(有信息丢失)变换,使 用void*的强制变换,隐式类型变换和类层次的静态定位。 例如: #include using namespace std; int fu原创 2012-03-11 10:23:23 · 854 阅读 · 0 评论 -
临时量
有时候在求表达式求值期间,编译器必须创建临时对象。像其他任何对象一样, 临时对象也需要存储空间,并且必须能够构造和销毁。区别是从来看不到临时对象, 因为是由编译器负责决定它们的去留以及它们存在的细节。但是关于临时变量有这 样一种情况,它们自动地成为常量。通常接触不到临时对象,改变临时对象是错误的, 因为这些信息应该是不可得到的。编译器所使用的临时变量自动生成为const。如: 下面这段代原创 2012-08-15 13:35:11 · 1404 阅读 · 0 评论 -
C++内部连接和外部连接
转自:http://hi.baidu.com/lizuoqin/blog/item/09ebf780148e07d09023d937.html 内部连接:假如一个名称对于他的编译单元来说是局部的,并且在连接时不会和其他编译单元中的同样的名称相冲突,那么这个名称有内部连接(注:有时也将声明看作是无连接的,这里我们统一看成是内部连接的)。 以下情况有内部连接: a)任何的声明转载 2012-08-16 16:17:00 · 3925 阅读 · 0 评论 -
const
c++中的const默认为内部链接,所谓内部连接意味着只对正被编译的文件创建存储 空间。也就是说,const仅在const被定义的文件里才是可见的,而在连接时不能被其他 编译单元看到。当定义一个const时,必须赋一个值给它,除非用extern做出说明: extern const int count; 通常c++编译器并不为const创建存储空间,相反它把这个定义保存在它的符原创 2012-08-19 17:12:18 · 1203 阅读 · 0 评论