20140309 C++ using 野指针 返回变量首地址
1、C++中的using:http://blog.sina.com.cn/s/blog_61e904fd0100nuk3.html
使用using恢复、改变被继承类中的访问权限
2、野指针,没有指向的指针,与空指针的不同
3、函数指针:int (*func)(int); 指针函数:int * fun(int);
4、static_cast和reinterpret_cast的区别:共同点返回变量首地址
//static_cast和reinterpret_cast的区别主要在于多重继承,比如 #include<stdio.h> class A { public: int m_a; }; class B { public: int m_b; }; class C : public A, public B {}; void main() { C c; printf("%p, %p, %p\r\n", &c, reinterpret_cast<B*>(&c), static_cast <B*>(&c)); }
结果:前两个的输出值是相同的,最后一个则会在原基础上偏移4个字节,这是因为static_cast计算了父子类指针转换的偏移量,并将之转换到正确的地址(c里面有m_a,m_b,转换为B*指针后指到m_b处),而reinterpret_cast却不会做这一层转换。
因此, 你需要谨慎使用 reinterpret_cast.
A占用4个字节 |
B占用4个字节 |
C占用四个字节 |
0x004BF764
0x004BF768
5、cvReleaseImg(&img),仅仅将img赋值为NULL;http://blog.sina.com.cn/s/blog_a2f5b8790101b5js.html#commonComment