int array[] = {2,3,4,5};00A3355E mov dword ptr [array],2 00A33565 mov dword ptr [ebp-10h],3 00A3356C mov dword ptr [ebp-0C...
分类:
编程语言 时间:
2015-03-07 18:21:54
阅读次数:
148
4.2.5 成员选择运算符
在C语言中,结构体struct和联合体union被称为记录类型RecordType,在形如dt.a和ptr->a的后缀表达式中,运算符.和->被称为成员选择运算符。函数CheckMemberAccess()用于对这些表达式进行语义检查,与之相关的代码如图4.2.28所示。在表达式dt.a中,dt和a相当于是运算符.的两个操作数,dt对应的语法...
分类:
其他好文 时间:
2015-03-07 15:46:59
阅读次数:
162
下面代码片断的输出是什么,为什么?char *ptr;if ((ptr = (char *)malloc(0)) == NULL) { puts("Got a null pointer.");}else{ puts("Got a valid pointer.");}析:通过查看 ...
分类:
其他好文 时间:
2015-03-05 18:52:24
阅读次数:
167
在某项目中,要求设置一绝对地址为0x67A9的整型变量的值为0xAA66,编译器是一个纯粹的ANSI编译器,写代码实现。析:关键在于要将0xAA66转换成整型变量类型指针,以使其可访问内存区为int大小。int *ptr;ptr = (int *)0x67A9;*ptr = 0xAA66;
分类:
其他好文 时间:
2015-03-05 16:10:41
阅读次数:
148
#includeusing namespace std;// private class for use by HasPtr only class U_Ptr { /** *因为在这个例子中所有的复制都是复制的“变量的常引用”,所以将U_Ptr这个变量的use增加,其他的Has...
分类:
其他好文 时间:
2015-03-05 00:13:17
阅读次数:
216
int main(int argc, char ** argv){。。。。。。。。 int x = 3;003913DE mov dword ptr [x],3 int &y = x;003913E5 lea eax,[x] 003913E8 mov ...
分类:
编程语言 时间:
2015-03-04 16:46:05
阅读次数:
187
指针的概念指针是一个特殊的变量,它里面存储的数值被解释成为内存里的一个地址。要搞清一个指针需要搞清指针的四方面的内容:指针的类型,指针所指向的类型,指针的值或者叫指针所指向的内存区,还有指针本身所占据的内存区。让我们分别说明。先声明几个指针放着做例子:例一:int *ptr; char *ptr;....
分类:
其他好文 时间:
2015-03-04 14:32:05
阅读次数:
182
#include class Test : public boost::enable_shared_from_this{ // ......};boost::shared_ptr tt(new Test);上面定义的Test类派生自boost::enable_shared_from_this,获取....
分类:
其他好文 时间:
2015-03-01 20:57:32
阅读次数:
161
C++ 智能指针
flyfish 2015-3-1
使用原始指针进行显示内存管理在性能上有优势,但容易出错。诸如 野指针,重复释放,内容泄露等。
C++为了在编程语言上支持更好的内存管理机制,C++98提供了auto_ptr,因为auto_ptr的缺点在C++11中被废弃,C++11提供了
unique_ptr,shared_ptr,weak_ptr等智能指针在自动回收堆分配的内存,智能指...
分类:
编程语言 时间:
2015-03-01 17:09:47
阅读次数:
253
使用OpenSceneGraph会经常见到这样的代码
osg::ref_ptr nodeRptr = new osg::Node;
osg::ref_ptr即为Reference counted objects 每次使用时自动递增,用完后自动递减
当最后一个 计数器变为0,对象自动销毁。
ref_ptr模板类型继承自Referenced类,Referenced类有三个基本函数:...
分类:
其他好文 时间:
2015-03-01 11:58:21
阅读次数:
189