https://stackoverflow.com/questions/23204255/how-to-cast-void-to-shared-ptrmytype

glfwSetWindowUserPointer(m_window, &m_viewport);

由于glfw的callback只能是static, 所以通过设置UserPointer来传递成员变量

        auto viewport = static_cast<std::shared_ptr<TJViewport>*>(glfwGetWindowUserPointer(window));if( button == GLFW_MOUSE_BUTTON_LEFT && action == GLFW_PRESS)(*viewport)->setState(TJViewport::TUMBLING);

void* 与 shared_ptr的相互转换相关推荐

  1. 动态内存管理和智能指针 2.0 -- shared_ptr

    shared_ptr出现原因 通过第一章的学习,我们知道不管是auto_ptr合适scoped_ptr都是存在缺陷的,于是我们必须想出一个方法既能很好的管理我们的内存,而且在使用的时候,可以多个指针指 ...

  2. 有关智能指针(shared_ptr)的讨论

    1. boost::shared_ptr的用法2. boost::shared_ptr的实现机制3. 使用boost::shared_ptr的注意事项4. std::tr1::shared_ptr和b ...

  3. Boost智能指针——shared_ptr

    boost::scoped_ptr虽然简单易用,但它不能共享所有权的特性却大大限制了其使用范围,而boost::shared_ptr可以解决这一局限.顾名思义,boost::shared_ptr是可以 ...

  4. c++ shared_ptr的使用

    shared_ptr.是c++为了提高指针安全性而添加的智能指针,方便了内存管理.功能非常强大,非常强大,非常强大(不单单是shared_ptr,配合week_ptr以及enable_share_fr ...

  5. shared_ptr和weak_ptr使用介绍

    文章目录 1 shared_ptr使用介绍 1.1 shared_ptr使用介绍 1.2 shared_ptr的使用陷阱 2 weak_ptr使用简介 1 shared_ptr使用介绍 1.1 sha ...

  6. boost智能指针之shared_ptr,scoped_ptr,intrusive_ptr,weak_ptr源码简析

    boost库实现了各种智能指针,基本上都纳入了c++11标准中,boost库的smart_ptr目录下就是各种指针的实现了: 1.shared_ptr template<class T> ...

  7. c++新特性11 (10)shared_ptr七reset

    1. 使用场景 p.reset() 若p是唯一指向其对象的shared_ptr,reset会释放此对象. p.reset(q) 释放原有对象的同时,若传递了可选的内置参数指针q,会令p指向q,否则会将 ...

  8. shared_ptr 循环引用问题以及解决办法

    栗子 #include <iostream> #include <memory>class CB; class CA { public:CA() { std::cout < ...

  9. std::shared_ptr

    /*auto_ptr:会发生语义转移,不支持应用计数 scoped_ptr:不支持复制,只有自己可以管理指针 scoped_array:支持数组 shared_ptr:最好的智能指针,支持引用计数,容 ...

最新文章

  1. 修改Eclipse发布路劲(Deploy path)
  2. android fragment概念,android Fragment相关概念简介
  3. leetcode算法题--左旋转字符串
  4. poj 3352 Road Construction(边-双连通分量)
  5. Django框架(22.Django中设置session以及session对象及方法)
  6. JVM-Java内存区域
  7. 如何测试Java类的线程安全性
  8. python 菜鸟:返回值_Python中的真实值和虚假值:详细介绍
  9. JAVA编程技巧之如何实现HTTP的断点续传(原理篇)
  10. bzoj1066 [SCOI2007]蜥蜴 网络流复制点模型
  11. 罗永浩回应“调侃”俞敏洪转行做直播;苹果3月9日举行春季发布会;CentOS推出新车载Linux发行版 | 极客头条...
  12. 解决开始时cmd进入dos中ping会提示未出现在内部文件中
  13. arm体系结构与编程_ARM体系结构基础(1)
  14. 【微信小程序生成海报保存到相册】
  15. 单循环赛制php,年度总决赛个人PK循环赛赛制解读
  16. libtorrent java_Libtorrent 之 NDK 编译
  17. 功能测试常见的测试方法有哪些?
  18. redis报错:ERR value is not an integer or out of range
  19. PHP webshell、暴力破解
  20. 修改mysql字段为主键且自增

热门文章

  1. 矩阵乘法 算法训练 试题_线性代数入门——矩阵乘法的定义及其意义
  2. Python+OpenCV:形态学变换
  3. CvvImage.h和CvvImage.cpp
  4. 学hadoop需要什么基础
  5. OpenGL秒安装及显示
  6. 利用filebeat推送mysql慢查询日志
  7. git 解决fatal: Not a git repository
  8. Android 开发使用lambda实现 JDK8兼容
  9. JPA 单元测试配置
  10. web开发中特殊字符的对应值与转义字符