peerconnection例子关闭窗口

在\trunk\talk\base\scoped_ptr.h文件中的scoped_ptr_impl模板类的reset方法,由于scoped_ptr_impl类的内部定义结构体Data继承自类模板参数D(代表的是指针析构类),并声明成员变量Data data_;Data data_;当调用reset方法时重新赋值指针,先获取到原始指针T* old = data_.ptr;然后如果该指针非空则执行static_cast<D&>(data_)(old);该语句首先将成员变量转换成父类的引用,然后将原始指针作为参数调用其重载的()成员函数。

以其中一个scoped_ptr为例,该模板类第一个类模板参数为T,第二个类模板参数为默认参数talk_base::DefaultDeleter<T>,DefaultDeleter是一个定义在当前文件的模板类或者模板结构体,从名字可知为析构类,以模板类scoped_ptr中定义的成员变量talk_base::internal::scoped_ptr_impl<element_type, deleter_type> impl_;为例,使用的是template <class T> struct DefaultDeleter模板而非其他两个重载的DefaultDeleter,而这个模板又传递给talk_base::internal::scoped_ptr_impl模板类成为其第二个类模板参数,由上分析该模板类型会是scoped_ptr_impl内部定义的结构体Data的父类,而且scoped_ptr_impl模板类的reset方法中执行用static_cast<D&>(data_)(old);时即template <class T> struct DefaultDeleter类的inline void operator()(T* ptr) const方法,该方法中执行delete ptr;即class scoped_ptr模板类的第一个类模板参数的析构函数。

时间: 2024-10-16 00:08:17

peerconnection例子关闭窗口的相关文章

在winform中,关闭窗口时刷新父窗口(原来打开此窗口的窗口)

如何在关闭窗口时刷新父窗口(原来打开此窗口的窗口,不一定是mdi窗口), 这种事情在b/s里很简单,但在winform里却不那么好办.因为你不能关闭第一个窗口时再打开另一个窗口,如果这样的话新窗口就一起被关闭了.但是正因为这样,我们可以让刷新的动作在关闭子窗口时进行,当然所有的动作是在父窗口中进行的.晕,不知道说明白了没有.还是看一下例子吧public partial class Customer : Form    {        public Customer()        {    

PyQt4关闭窗口

一个显而易见的关闭窗口的方式是但集标题兰有上角的X标记.接下来的示例展示如何用代码来关闭程序,并简要介绍Qt的信号和槽机制. 下面是QPushButton的构造函数,我们将会在下面的示例中使用它. QPushButton(String text, QWiget parent = None) text表示将显示在按钮上的文本.parent是其父对象,用于指定按钮显示在哪个部件中.在我们的示例中,parent是一个QWidget对象. #!/usr/bin/python # -*- coding:u

window.opener=null 不需确认就能关闭窗口

在我最近做的项目里有一个小问题.需求上是写生成一条URL可以给用户访问,到达网站特定的内容.并不难.但在访问到的页面上有一个关闭按钮.一按关闭按钮就会出现一个"您所访问的窗口正试图关闭"的确认对话框.在GOOGLE上搜索了一下.看到了这么一行JS代码. window.opener = null; window.close(); 并声称这样就能达到不确认关闭窗口的目的. 解决:window.opener=null;window.close(),只支持IE6不支持IE7的问题? 在wind

关闭窗口(window.close)

close()关闭窗口 用法: window.close(); //关闭本窗口 或 <窗口对象>.close(); //关闭指定的窗口 例如:关闭新建的窗口. <script type="text/javascript"> var mywin=window.open('http://www.imooc.com'); //将新打的窗口对象,存储在变量mywin中 mywin.close(); </script> 注意:上面代码在打开新窗口的同时,关闭该

js关闭窗口(取消提示)

    转自:http://blog.sina.com.cn/s/blog_8f49f0060100x48v.html 声明:本文主要针对IE浏览器说明 一般关闭页面(或者说关闭窗口时),我们首先想到的是window.close(),但是这段代码对使用window.open()创建的窗口非常有效, 不会有提示信息:当在主浏览器窗口中使用时,将会得到一条提示信息:提示该脚本视图关闭窗口,询问是否真的要关闭该窗口,这一点让人有时很烦恼. 现提供以下几种方式: (1)在ie6中使用下面的代码,即可避免

JavaScript关闭窗口的同时打开新页面的方法

做网页的时候需要弹出一个小窗口,然后要实现一个功能就是鼠标点击超链接关闭小窗口并打开一个新页面,就如同下图: 这是一个小窗口,点击超链接这个窗口会关闭并且会正常在浏览器打开新页面,首先写js关闭窗口的方法 1 <script type="text/javascript"> 2 function closewin(){ 3 //关闭窗口的方法 4 window.opener=null; 5 window.open('','_self',''); 6 window.close(

peerconnection例子渲染本地视频

调试peerconnection例子,在WebRtcSession::CreateChannels函数中加上断点,呼叫端和被呼叫端创建通道的流程并不一样.呼叫端是从PeerConnection::SetLocalDescription往下执行创建的,而被呼叫端则是收到对端发来的消息后调用PeerConnection::SetRemoteDescription往下执行创建的.根据WebRtcSession::CreateChannels函数创建VoiceChannel和VideoChannel的流

火狐浏览器中如何使用javascript:window.close()关闭窗口?

代码示例: <input type="button" value="关闭窗体" onclick="javascript:window.close()" /><input type="button" value="打印窗体" onclick="javascript:window.print()" /> 有时候在火狐浏览器使用javascript:window.clo

MVVM模式下关闭窗口的实现

通过行为来实现 实现界面与逻辑的分离 窗口关闭行为:其中含有布尔型的Close属性,将相应的关闭行为绑定到该属性上,则可以实现窗口的关闭行为,从而实现VM与View的分离 public class WindowCloseBehaviour : Behavior<Window> { public static readonly DependencyProperty CloseProperty = DependencyProperty.Register( "Close", ty