一、场景对象体系二、场景对象生命周期管理场景对象的生命周期,不适合采用原始的c++管理方式, 即由使用者自己负责删除。而应该采用引用计数方式, 自动负责删除。采用引用计数方式, 目前用法比较广的分两类:1、智能指针, 如boost::shared_ptr, 这种方式原理是基于c++对象的生命周期和析...
分类:
其他好文 时间:
2015-01-07 14:48:16
阅读次数:
184
包含指针的类要特别注意复制控制,原因是复制指针只复制指针中的地址,而不会复制指针所指向的对象。C++类采用以下3种方法之一管理指针成员:(1) 指针成员采取常规指针型行为。这样的类具有指针所有的缺陷但是无需特殊的复制控制。(2) 类可以是实现“智能指针”行为。指针所指向的对象是共享的,但类能够防止悬...
分类:
编程语言 时间:
2015-01-06 09:53:54
阅读次数:
243
4 来自Google的奇技 Google-Specific Magic
Google用了很多自己的实现技巧/工具使 C++代码更加健壮, 我们使用C++的方式可能和你在其他地方见到的有所不同;
[Removed]
4.1 智能指针
Tip 如果确实需要使用智能指针的话, scoped_ptr完全可以胜任; 你应该只在非常特定的情况下使用 std::tr1::shared...
分类:
其他好文 时间:
2014-12-28 00:33:50
阅读次数:
218
最近在VS2008中使用VC++对Arcgis Engine进行二次开发,使用一段时间后会发现对于部分智能指针,不能智能的提示其中包含的属性、方法等,最明显的一点就是声明的智能指针变量没有被按照变量的颜色显示(默认应该是蓝色,现在只是黑色显示),究其原因是visual assist解析当前工程产生的缓存越来越大(我个人认为其内部使用了增量式解析,其中存在以前的解析记录,导致后续不在解析此接口,最终...
分类:
编程语言 时间:
2014-12-27 15:15:24
阅读次数:
367
一、智能指针
在C++语言编程时,当类中有指针成员时,一般有两种方式来管理指针成员:一是采用值型的方式管理,每个类对象都保留一份指针指向的对象的拷贝;另一种更优雅的方式是使用智能指针,从而实现指针指向的对象的共享。
智能指针(smart pointer)的一种通用实现技术是使用引用计数(reference count)。智能指针类将一个计数器与类指向的对象相关联,引用计数跟踪该...
分类:
其他好文 时间:
2014-12-24 22:45:20
阅读次数:
161
Shared_ptr允许当智能指针被建立起来是指定一个资源释放函数绑定于智能指针身上,也就是说在shared_ptr被初始化的同时也可以指定其管理的资源的释放函数。Shared_ptr提供的某个构造函数接受两个实参:一个是被管理的指针,另一个是引用次数变为0时将被调用的“删除器”。Shared_ptr构造函数坚持其第一个参数必须是个指针。它支持定制型删除器。
缺省情况下C++以by val...
分类:
编程语言 时间:
2014-12-24 21:33:06
阅读次数:
217
15. 智能指针可以通过get操作#include #include #include using namespace std;class Orange {private: int weight;public: Orange(int w) : weight(w) {} int ge...
分类:
编程语言 时间:
2014-12-21 23:18:59
阅读次数:
199
#include #include #include using namespace std;class Kiwi {private: int weight;public: Kiwi(int w) : weight(w) {} ~Kiwi() { cout p(new...
分类:
编程语言 时间:
2014-12-21 22:07:54
阅读次数:
396
#include #include #include using namespace std;class Kiwi {private: int weight;public: Kiwi(int w) : weight(w) {} ~Kiwi() { cout p(new...
分类:
编程语言 时间:
2014-12-21 21:55:21
阅读次数:
213
对于一个C++的使用者来说,指针的使用可以算的上是家常便饭,但是在使用的过程中,很多时候可能会因为new或者malloc了一个对象,而忘记最后结束的时候去释放掉(我就会犯这样子的错误),从而导致内存泄露。而此时智能指针可能可以帮助我去解决这个问题。
智能指针(smart pointer)是利用个引用计数的策略去处理指针的释放,从而保证指针的安全性。通常情况下,我们会自己去设计一个智能指针类去管理...
分类:
编程语言 时间:
2014-12-21 16:40:36
阅读次数:
227