• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >vc/mfc > 把临时字符串传给一接受BSTR参数的方法,方法中需不需要释放参数内存?详情请进

把临时字符串传给一接受BSTR参数的方法,方法中需不需要释放参数内存?详情请进

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-04

佚名通过本文主要向大家介绍了把临时字符串传给一接受BSTR参数的方法,方法中需不需要释放参数内存?详情请进等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 把临时字符串传给一接受BSTR参数的方法,方法中需不需要释放参数内存?详情请进
描述:

方法声明:HRESULT ABC(BSTR bstr);
调用:pInterface->ABC(L"wu la la wu la la...");
ABC中是否需要调用::SysFreeString(bstr);?


解决方案1:

pInterface->ABC(L"wu la la wu la la...");不需要Free,是因为L"wu la la wu la la..."相当于在栈中定义了一个字符数组unsigned short [n],系统自动把首地址作为参数传给接口函数,退出时自动回收;
pInterface->ABC(T2OLE("wu la la wu la la..."));要释放,是因为你调用了宏T2OLE,这个宏实际上调用了动态内存分配函数alloca,并将其结果作为实参,系统只管这个实参,管不了堆中的内存,所以泄漏。
好比pInterface->ABC(unsigned short a[])和pInterface->ABC(new unsigned short[])的区别


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 把临时字符串传给一接受BSTR参数的方法,方法中需不需要释放参数内存?详情请进

相关文章

  • 2017-06-04 放分求助VB如何同过dcom访问SQL
  • 2017-06-05 怎样通过线程句柄返回其ID
  • 2017-06-04 为什么我用ATL编的程序使用_tcstol函数就会编译错误errorLNK2001
  • 2017-06-04 com组件的释放问题~~~高手来看看
  • 2017-06-05 [请教]如何改变互斥信号量来实现多次运行这个程序。UP有分!
  • 2017-06-05 Hook问题
  • 2017-06-04 请问如何在acitvex中获得asp传回来的记录集,全部的分了
  • 2017-06-04 如何获取outlook新建联系人的窗口呢?
  • 2017-06-04 怎样做一个可显示曲线的控件?
  • 2017-06-04 免费大型PDM源码提供,我以前公司开发的,由于我对VC不太熟。现请一高人帮忙排一下错。

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 我的gina中为什么抓不到usb设备WM_DEVICECHANG消息?
    • 高手们只不知道VC里有没有正则表达式,怎么用?
    • 一个小妹问我的程序问题,如何为线程分配更大的内存?
    • directshow自定义filter,CoCreateInstance创建实例,返回E_INVALIDARG
    • [out]与[out,retval]
    • 关于线程????
    • MFC导入Excel2010的问题
    • 此处的reinterpret_cast可以不可以用dynamic_cast代替?
    • AfxGetApp->m_lpCmdLine返回的是什么东西?
    • 怎样通过Activex控件将本地的一个文件数据流发送到网页上

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有