// osgStudy4_19.cpp : 定义控制台应用程序的入口点。
//智能指针对场景的引用计数,看到这里的时候几乎就想放弃了,智能指针什么鬼,在大神的鼓励下,要搞科研的人怎么能不学会钻研呢!其实还是不是特别懂,但好像稍微理解一点点了,又参考了一下C++Primer。
//——————C++的动态内存和智能指针————————————
//动态分配的对象的生存期与它们在哪里创建时无关的,只有当显式的被释放时,这些对象才会销毁。
//动态对象的正确释放在编程中很容易出错的地方,为了更安全地使用动态对象,C++标准库定义了两个智能指针类型来管理动态分配的对象。
//当一个对象应该被释放时,指向它的智能指针可以确保自动地释放它。
//——————OSG的智能指针——————————————————
//OSG提供一种“垃圾收集”机制,通过“内存引用计数”的形式来管理场景中的节点和绘制体。
//每个场景中的对象都维护者一个引用计数值(就是智能指针),当它被其他对象使用时,引用计数值+1,反之减1。
//当一个对象的引用计数为0时,它将自动从内存中释放。
//智能指针对场景的引用计数,看到这里的时候几乎就想放弃了,智能指针什么鬼,在大神的鼓励下,要搞科研的人怎么能不学会钻研呢!其实还是不是特别懂,但好像稍微理解一点点了,又参考了一下C++Primer。
//——————C++的动态内存和智能指针————————————
//动态分配的对象的生存期与它们在哪里创建时无关的,只有当显式的被释放时,这些对象才会销毁。
//动态对象的正确释放在编程中很容易出错的地方,为了更安全地使用动态对象,C++标准库定义了两个智能指针类型来管理动态分配的对象。
//当一个对象应该被释放时,指向它的智能指针可以确保自动地释放它。
//——————OSG的智能指针——————————————————
//OSG提供一种“垃圾收集”机制,通过“内存引用计数”的形式来管理场景中的节点和绘制体。
//每个场景中的对象都维护者一个引用计数值(就是智能指针),当它被其他对象使用时,引用计数值+1,反之减1。
//当一个对象的引用计数为0时,它将自动从内存中释放。
#include "stdafx.h"
#include<osg/Geode>
#include<iostream>
class GeodeParent//定义了GeodeParent类,通过智能指针变量_geode来保存一个Geode类型的场景对象
{
public:
GeodeParent(){}
void setGeode(osg::Geode* geode){ _geode &