{"id":8019,"date":"2022-09-11T12:20:30","date_gmt":"2022-09-11T06:50:30","guid":{"rendered":"https:\/\/jassweb.com\/solved\/solved-can-the-delete-operator-be-used-instead-of-the-marshal-freehglobal-method-to-free-memory-from-a-wchar_t\/"},"modified":"2022-09-11T12:20:30","modified_gmt":"2022-09-11T06:50:30","slug":"solved-can-the-delete-operator-be-used-instead-of-the-marshal-freehglobal-method-to-free-memory-from-a-wchar_t","status":"publish","type":"post","link":"https:\/\/jassweb.com\/solved\/solved-can-the-delete-operator-be-used-instead-of-the-marshal-freehglobal-method-to-free-memory-from-a-wchar_t\/","title":{"rendered":"[Solved] Can the delete operator be used instead of the Marshal.FreeHGlobal method to free memory from a wchar_t*?"},"content":{"rendered":"<p> [ad_1]<br \/>\n<\/p>\n<div id=\"answer-68534125\" class=\"answer js-answer accepted-answer js-accepted-answer\" data-answerid=\"68534125\" data-parentid=\"68531259\" data-score=\"-1\" data-position-on-page=\"1\" data-highest-scored=\"1\" data-question-has-accepted-highest-score=\"1\" itemprop=\"acceptedAnswer\" itemscope itemtype=\"https:\/\/schema.org\/Answer\">\n<div class=\"post-layout\">\n<div class=\"votecell post-layout--left\"><\/div>\n<div class=\"answercell post-layout--right\">\n<div class=\"s-prose js-post-body\" itemprop=\"text\">\n<p>Don&#8217;t use <code>Marshal::StringToHGlobalUni<\/code> in C++\/CLI.<\/p>\n<p>Use either<\/p>\n<ol>\n<li><code>PtrToStringChars<\/code> (accesses Unicode characters in-place, no allocation) or<\/li>\n<li><code>marshal_as&lt;std::wstring&gt;<\/code> (manages the allocation with a smart pointer class that will free it correctly and automatically)<\/li>\n<\/ol>\n<hr>\n<p>Apart from the fact that <code>StringToHGlobalUni<\/code> requires you to free the memory manually, the name of that function is completely misleading.  It has absolutely no connection to <code>HGLOBAL<\/code> whatsoever.<\/p>\n<\/p><\/div>\n<div class=\"mt24\"><\/div>\n<\/div>\n<p>            <span class=\"d-none\" itemprop=\"commentCount\">0<\/span> <\/p><\/div>\n<\/div>\n<p>[ad_2]<\/p>\n<p>solved Can the delete operator be used instead of the Marshal.FreeHGlobal method to free memory from a wchar_t*? <\/p>\n","protected":false},"excerpt":{"rendered":"<p>[ad_1] Don&#8217;t use Marshal::StringToHGlobalUni in C++\/CLI. Use either PtrToStringChars (accesses Unicode characters in-place, no allocation) or marshal_as&lt;std::wstring&gt; (manages the allocation with a smart pointer class that will free it correctly and automatically) Apart from the fact that StringToHGlobalUni requires you to free the memory manually, the name of that function is completely misleading. It has &#8230; <a title=\"[Solved] Can the delete operator be used instead of the Marshal.FreeHGlobal method to free memory from a wchar_t*?\" class=\"read-more\" href=\"https:\/\/jassweb.com\/solved\/solved-can-the-delete-operator-be-used-instead-of-the-marshal-freehglobal-method-to-free-memory-from-a-wchar_t\/\" aria-label=\"More on [Solved] Can the delete operator be used instead of the Marshal.FreeHGlobal method to free memory from a wchar_t*?\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[320],"tags":[2261],"class_list":["post-8019","post","type-post","status-publish","format-standard","hentry","category-solved","tag-c-cli"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>[Solved] Can the delete operator be used instead of the Marshal.FreeHGlobal method to free memory from a wchar_t*? - JassWeb<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/jassweb.com\/solved\/solved-can-the-delete-operator-be-used-instead-of-the-marshal-freehglobal-method-to-free-memory-from-a-wchar_t\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"[Solved] Can the delete operator be used instead of the Marshal.FreeHGlobal method to free memory from a wchar_t*? - JassWeb\" \/>\n<meta property=\"og:description\" content=\"[ad_1] Don&#8217;t use Marshal::StringToHGlobalUni in C++\/CLI. Use either PtrToStringChars (accesses Unicode characters in-place, no allocation) or marshal_as&lt;std::wstring&gt; (manages the allocation with a smart pointer class that will free it correctly and automatically) Apart from the fact that StringToHGlobalUni requires you to free the memory manually, the name of that function is completely misleading. It has ... Read more\" \/>\n<meta property=\"og:url\" content=\"https:\/\/jassweb.com\/solved\/solved-can-the-delete-operator-be-used-instead-of-the-marshal-freehglobal-method-to-free-memory-from-a-wchar_t\/\" \/>\n<meta property=\"og:site_name\" content=\"JassWeb\" \/>\n<meta property=\"article:published_time\" content=\"2022-09-11T06:50:30+00:00\" \/>\n<meta name=\"author\" content=\"Kirat\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Kirat\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-can-the-delete-operator-be-used-instead-of-the-marshal-freehglobal-method-to-free-memory-from-a-wchar_t\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-can-the-delete-operator-be-used-instead-of-the-marshal-freehglobal-method-to-free-memory-from-a-wchar_t\/\"},\"author\":{\"name\":\"Kirat\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31\"},\"headline\":\"[Solved] Can the delete operator be used instead of the Marshal.FreeHGlobal method to free memory from a wchar_t*?\",\"datePublished\":\"2022-09-11T06:50:30+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-can-the-delete-operator-be-used-instead-of-the-marshal-freehglobal-method-to-free-memory-from-a-wchar_t\/\"},\"wordCount\":99,\"publisher\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\"},\"keywords\":[\"c++-cli\"],\"articleSection\":[\"Solved\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-can-the-delete-operator-be-used-instead-of-the-marshal-freehglobal-method-to-free-memory-from-a-wchar_t\/\",\"url\":\"https:\/\/jassweb.com\/solved\/solved-can-the-delete-operator-be-used-instead-of-the-marshal-freehglobal-method-to-free-memory-from-a-wchar_t\/\",\"name\":\"[Solved] Can the delete operator be used instead of the Marshal.FreeHGlobal method to free memory from a wchar_t*? - JassWeb\",\"isPartOf\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#website\"},\"datePublished\":\"2022-09-11T06:50:30+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-can-the-delete-operator-be-used-instead-of-the-marshal-freehglobal-method-to-free-memory-from-a-wchar_t\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/jassweb.com\/solved\/solved-can-the-delete-operator-be-used-instead-of-the-marshal-freehglobal-method-to-free-memory-from-a-wchar_t\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-can-the-delete-operator-be-used-instead-of-the-marshal-freehglobal-method-to-free-memory-from-a-wchar_t\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/jassweb.com\/solved\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"[Solved] Can the delete operator be used instead of the Marshal.FreeHGlobal method to free memory from a wchar_t*?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/jassweb.com\/solved\/#website\",\"url\":\"https:\/\/jassweb.com\/solved\/\",\"name\":\"JassWeb\",\"description\":\"Build High-quality Websites\",\"publisher\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/jassweb.com\/solved\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\",\"name\":\"Jass Web\",\"url\":\"https:\/\/jassweb.com\/solved\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png\",\"contentUrl\":\"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png\",\"width\":693,\"height\":132,\"caption\":\"Jass Web\"},\"image\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31\",\"name\":\"Kirat\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775798750\",\"contentUrl\":\"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775798750\",\"caption\":\"Kirat\"},\"sameAs\":[\"http:\/\/jassweb.com\"],\"url\":\"https:\/\/jassweb.com\/solved\/author\/jaspritsinghghumangmail-com\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"[Solved] Can the delete operator be used instead of the Marshal.FreeHGlobal method to free memory from a wchar_t*? - JassWeb","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/jassweb.com\/solved\/solved-can-the-delete-operator-be-used-instead-of-the-marshal-freehglobal-method-to-free-memory-from-a-wchar_t\/","og_locale":"en_US","og_type":"article","og_title":"[Solved] Can the delete operator be used instead of the Marshal.FreeHGlobal method to free memory from a wchar_t*? - JassWeb","og_description":"[ad_1] Don&#8217;t use Marshal::StringToHGlobalUni in C++\/CLI. Use either PtrToStringChars (accesses Unicode characters in-place, no allocation) or marshal_as&lt;std::wstring&gt; (manages the allocation with a smart pointer class that will free it correctly and automatically) Apart from the fact that StringToHGlobalUni requires you to free the memory manually, the name of that function is completely misleading. It has ... Read more","og_url":"https:\/\/jassweb.com\/solved\/solved-can-the-delete-operator-be-used-instead-of-the-marshal-freehglobal-method-to-free-memory-from-a-wchar_t\/","og_site_name":"JassWeb","article_published_time":"2022-09-11T06:50:30+00:00","author":"Kirat","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Kirat"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/jassweb.com\/solved\/solved-can-the-delete-operator-be-used-instead-of-the-marshal-freehglobal-method-to-free-memory-from-a-wchar_t\/#article","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/solved-can-the-delete-operator-be-used-instead-of-the-marshal-freehglobal-method-to-free-memory-from-a-wchar_t\/"},"author":{"name":"Kirat","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31"},"headline":"[Solved] Can the delete operator be used instead of the Marshal.FreeHGlobal method to free memory from a wchar_t*?","datePublished":"2022-09-11T06:50:30+00:00","mainEntityOfPage":{"@id":"https:\/\/jassweb.com\/solved\/solved-can-the-delete-operator-be-used-instead-of-the-marshal-freehglobal-method-to-free-memory-from-a-wchar_t\/"},"wordCount":99,"publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"keywords":["c++-cli"],"articleSection":["Solved"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/jassweb.com\/solved\/solved-can-the-delete-operator-be-used-instead-of-the-marshal-freehglobal-method-to-free-memory-from-a-wchar_t\/","url":"https:\/\/jassweb.com\/solved\/solved-can-the-delete-operator-be-used-instead-of-the-marshal-freehglobal-method-to-free-memory-from-a-wchar_t\/","name":"[Solved] Can the delete operator be used instead of the Marshal.FreeHGlobal method to free memory from a wchar_t*? - JassWeb","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/#website"},"datePublished":"2022-09-11T06:50:30+00:00","breadcrumb":{"@id":"https:\/\/jassweb.com\/solved\/solved-can-the-delete-operator-be-used-instead-of-the-marshal-freehglobal-method-to-free-memory-from-a-wchar_t\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/jassweb.com\/solved\/solved-can-the-delete-operator-be-used-instead-of-the-marshal-freehglobal-method-to-free-memory-from-a-wchar_t\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/jassweb.com\/solved\/solved-can-the-delete-operator-be-used-instead-of-the-marshal-freehglobal-method-to-free-memory-from-a-wchar_t\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/jassweb.com\/solved\/"},{"@type":"ListItem","position":2,"name":"[Solved] Can the delete operator be used instead of the Marshal.FreeHGlobal method to free memory from a wchar_t*?"}]},{"@type":"WebSite","@id":"https:\/\/jassweb.com\/solved\/#website","url":"https:\/\/jassweb.com\/solved\/","name":"JassWeb","description":"Build High-quality Websites","publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/jassweb.com\/solved\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/jassweb.com\/solved\/#organization","name":"Jass Web","url":"https:\/\/jassweb.com\/solved\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/","url":"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png","contentUrl":"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png","width":693,"height":132,"caption":"Jass Web"},"image":{"@id":"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31","name":"Kirat","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/image\/","url":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775798750","contentUrl":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775798750","caption":"Kirat"},"sameAs":["http:\/\/jassweb.com"],"url":"https:\/\/jassweb.com\/solved\/author\/jaspritsinghghumangmail-com\/"}]}},"_links":{"self":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/8019","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/comments?post=8019"}],"version-history":[{"count":0,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/8019\/revisions"}],"wp:attachment":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/media?parent=8019"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/categories?post=8019"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/tags?post=8019"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}