{"id":28577,"date":"2023-01-01T04:23:33","date_gmt":"2022-12-31T22:53:33","guid":{"rendered":"https:\/\/jassweb.com\/solved\/solved-is-it-possible-to-force-c-class-instantiation-on-the-heap\/"},"modified":"2023-01-01T04:23:33","modified_gmt":"2022-12-31T22:53:33","slug":"solved-is-it-possible-to-force-c-class-instantiation-on-the-heap","status":"publish","type":"post","link":"https:\/\/jassweb.com\/solved\/solved-is-it-possible-to-force-c-class-instantiation-on-the-heap\/","title":{"rendered":"[Solved] Is it possible to force c++ class instantiation on the heap?"},"content":{"rendered":"<p> [ad_1]<br \/>\n<\/p>\n<div id=\"answer-27945867\" class=\"answer js-answer accepted-answer js-accepted-answer\" data-answerid=\"27945867\" data-parentid=\"27945709\" data-score=\"9\" 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>Just make ctor private\/protected and provide a static method(s) to create an instance:<\/p>\n<pre><code>class HeapOnly {\n     HeapOnly();\n     HeapOnly( int i );\npublic:\n     static HeapOnly *create() { return new HeapOnly; }\n     static HeapOnly *create( int i ) { return new HeapOnly( i ); }\n};\n<\/code><\/pre>\n<p>You may consider to return a <code>std::unique_ptr<\/code> in general case, but for Qt that could be not necessary.<\/p>\n<p>This will not solve your problem instantly, but you will get compile error everywhere where instance is created and you can replace them by create function call catching places where class instance created on a stack.<\/p>\n<\/p><\/div>\n<div class=\"mt24\"><\/div>\n<\/div>\n<p>            <span class=\"d-none\" itemprop=\"commentCount\">3<\/span> <\/p><\/div>\n<\/div>\n<p>[ad_2]<\/p>\n<p>solved Is it possible to force c++ class instantiation on the heap? <\/p>\n","protected":false},"excerpt":{"rendered":"<p>[ad_1] Just make ctor private\/protected and provide a static method(s) to create an instance: class HeapOnly { HeapOnly(); HeapOnly( int i ); public: static HeapOnly *create() { return new HeapOnly; } static HeapOnly *create( int i ) { return new HeapOnly( i ); } }; You may consider to return a std::unique_ptr in general case, &#8230; <a title=\"[Solved] Is it possible to force c++ class instantiation on the heap?\" class=\"read-more\" href=\"https:\/\/jassweb.com\/solved\/solved-is-it-possible-to-force-c-class-instantiation-on-the-heap\/\" aria-label=\"More on [Solved] Is it possible to force c++ class instantiation on the heap?\">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":[324,519,378,3682],"class_list":["post-28577","post","type-post","status-publish","format-standard","hentry","category-solved","tag-c","tag-class","tag-heap-memory","tag-instantiation"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>[Solved] Is it possible to force c++ class instantiation on the heap? - 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-is-it-possible-to-force-c-class-instantiation-on-the-heap\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"[Solved] Is it possible to force c++ class instantiation on the heap? - JassWeb\" \/>\n<meta property=\"og:description\" content=\"[ad_1] Just make ctor private\/protected and provide a static method(s) to create an instance: class HeapOnly { HeapOnly(); HeapOnly( int i ); public: static HeapOnly *create() { return new HeapOnly; } static HeapOnly *create( int i ) { return new HeapOnly( i ); } }; You may consider to return a std::unique_ptr in general case, ... Read more\" \/>\n<meta property=\"og:url\" content=\"https:\/\/jassweb.com\/solved\/solved-is-it-possible-to-force-c-class-instantiation-on-the-heap\/\" \/>\n<meta property=\"og:site_name\" content=\"JassWeb\" \/>\n<meta property=\"article:published_time\" content=\"2022-12-31T22:53:33+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\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-is-it-possible-to-force-c-class-instantiation-on-the-heap\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-is-it-possible-to-force-c-class-instantiation-on-the-heap\/\"},\"author\":{\"name\":\"Kirat\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31\"},\"headline\":\"[Solved] Is it possible to force c++ class instantiation on the heap?\",\"datePublished\":\"2022-12-31T22:53:33+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-is-it-possible-to-force-c-class-instantiation-on-the-heap\/\"},\"wordCount\":94,\"publisher\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\"},\"keywords\":[\"c++\",\"class\",\"heap-memory\",\"instantiation\"],\"articleSection\":[\"Solved\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-is-it-possible-to-force-c-class-instantiation-on-the-heap\/\",\"url\":\"https:\/\/jassweb.com\/solved\/solved-is-it-possible-to-force-c-class-instantiation-on-the-heap\/\",\"name\":\"[Solved] Is it possible to force c++ class instantiation on the heap? - JassWeb\",\"isPartOf\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#website\"},\"datePublished\":\"2022-12-31T22:53:33+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-is-it-possible-to-force-c-class-instantiation-on-the-heap\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/jassweb.com\/solved\/solved-is-it-possible-to-force-c-class-instantiation-on-the-heap\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-is-it-possible-to-force-c-class-instantiation-on-the-heap\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/jassweb.com\/solved\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"[Solved] Is it possible to force c++ class instantiation on the heap?\"}]},{\"@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=1775193939\",\"contentUrl\":\"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775193939\",\"caption\":\"Kirat\"},\"sameAs\":[\"http:\/\/jassweb.com\"],\"url\":\"https:\/\/jassweb.com\/solved\/author\/jaspritsinghghumangmail-com\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"[Solved] Is it possible to force c++ class instantiation on the heap? - 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-is-it-possible-to-force-c-class-instantiation-on-the-heap\/","og_locale":"en_US","og_type":"article","og_title":"[Solved] Is it possible to force c++ class instantiation on the heap? - JassWeb","og_description":"[ad_1] Just make ctor private\/protected and provide a static method(s) to create an instance: class HeapOnly { HeapOnly(); HeapOnly( int i ); public: static HeapOnly *create() { return new HeapOnly; } static HeapOnly *create( int i ) { return new HeapOnly( i ); } }; You may consider to return a std::unique_ptr in general case, ... Read more","og_url":"https:\/\/jassweb.com\/solved\/solved-is-it-possible-to-force-c-class-instantiation-on-the-heap\/","og_site_name":"JassWeb","article_published_time":"2022-12-31T22:53:33+00:00","author":"Kirat","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Kirat","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/jassweb.com\/solved\/solved-is-it-possible-to-force-c-class-instantiation-on-the-heap\/#article","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/solved-is-it-possible-to-force-c-class-instantiation-on-the-heap\/"},"author":{"name":"Kirat","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31"},"headline":"[Solved] Is it possible to force c++ class instantiation on the heap?","datePublished":"2022-12-31T22:53:33+00:00","mainEntityOfPage":{"@id":"https:\/\/jassweb.com\/solved\/solved-is-it-possible-to-force-c-class-instantiation-on-the-heap\/"},"wordCount":94,"publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"keywords":["c++","class","heap-memory","instantiation"],"articleSection":["Solved"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/jassweb.com\/solved\/solved-is-it-possible-to-force-c-class-instantiation-on-the-heap\/","url":"https:\/\/jassweb.com\/solved\/solved-is-it-possible-to-force-c-class-instantiation-on-the-heap\/","name":"[Solved] Is it possible to force c++ class instantiation on the heap? - JassWeb","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/#website"},"datePublished":"2022-12-31T22:53:33+00:00","breadcrumb":{"@id":"https:\/\/jassweb.com\/solved\/solved-is-it-possible-to-force-c-class-instantiation-on-the-heap\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/jassweb.com\/solved\/solved-is-it-possible-to-force-c-class-instantiation-on-the-heap\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/jassweb.com\/solved\/solved-is-it-possible-to-force-c-class-instantiation-on-the-heap\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/jassweb.com\/solved\/"},{"@type":"ListItem","position":2,"name":"[Solved] Is it possible to force c++ class instantiation on the heap?"}]},{"@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=1775193939","contentUrl":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775193939","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\/28577","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=28577"}],"version-history":[{"count":0,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/28577\/revisions"}],"wp:attachment":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/media?parent=28577"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/categories?post=28577"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/tags?post=28577"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}