{"id":10140,"date":"2022-09-22T11:22:18","date_gmt":"2022-09-22T05:52:18","guid":{"rendered":"https:\/\/jassweb.com\/solved\/solved-where-does-the-memory-come-from-to-initialize-a-c-object-without-the-new-keyword\/"},"modified":"2022-09-22T11:22:18","modified_gmt":"2022-09-22T05:52:18","slug":"solved-where-does-the-memory-come-from-to-initialize-a-c-object-without-the-new-keyword","status":"publish","type":"post","link":"https:\/\/jassweb.com\/solved\/solved-where-does-the-memory-come-from-to-initialize-a-c-object-without-the-new-keyword\/","title":{"rendered":"[Solved] Where does the memory come from to initialize a C++ object without the new keyword?"},"content":{"rendered":"<p> [ad_1]<br \/>\n<\/p>\n<div id=\"answer-35231824\" class=\"answer js-answer accepted-answer js-accepted-answer\" data-answerid=\"35231824\" data-parentid=\"35231805\" data-score=\"4\" data-position-on-page=\"2\" data-highest-scored=\"0\" data-question-has-accepted-highest-score=\"0\" itemprop=\"suggestedAnswer\" 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<blockquote>\n<p>Question: If not from the heap, where does the memory for C come from?<\/p>\n<\/blockquote>\n<p>From the stack (or in the case of a global variable or function &#8216;static&#8217; variable, from a statically allocated region that exists independently of both the heap and the stack).<\/p>\n<p>Strictly speaking, C++ has no concept of heap or stack (other than as data structures in the standard library, which are fundamentally different to &#8220;the&#8221; heap and stack that are the prevalent mechanisms used for allocation of memory by running programs); the exact mechanism for allocation and management of memory is not specified. In practice, there are two ways for a program to allocate memory at run time on most systems: from the heap (which is itself built on memory chunks obtained from the operating system), or from the stack (the same stack that is used to store the return address and save temporary values when functions are called).<\/p>\n<p>Memory for the stack is usually allocated when (or just before) the program begins execution, and it usually needs to be contiguous. Memory for the heap is usually obtained dynamically and does not normally need to be contiguous (though in practice heap memory is often allocated in contiguous chunks).<\/p>\n<p>Note that your first example:<\/p>\n<pre><code>ClassName* p;\np = new ClassName;\n<\/code><\/pre>\n<p>&#8230; actually embodies two allocations: one for the <code>ClassName<\/code> object (dynamic storage, allocated on the heap) and one for the pointer variable <code>p<\/code> (automatic storage, allocated on the heap).<\/p>\n<p>In practice, local variables will not always require stack allocation &#8211; their values can sometimes be kept in registers (or in some cases, the storage can be optimised away altogether, especially if the value is unused or is a compile-time constant). And theoretically, heap allocations can also potentially be optimised away.<\/p>\n<\/p><\/div>\n<div class=\"mt24\"><\/div>\n<\/div>\n<p>            <span class=\"d-none\" itemprop=\"commentCount\">8<\/span> <\/p><\/div>\n<\/div>\n<p>[ad_2]<\/p>\n<p>solved Where does the memory come from to initialize a C++ object without the new keyword? <\/p>\n","protected":false},"excerpt":{"rendered":"<p>[ad_1] Question: If not from the heap, where does the memory for C come from? From the stack (or in the case of a global variable or function &#8216;static&#8217; variable, from a statically allocated region that exists independently of both the heap and the stack). Strictly speaking, C++ has no concept of heap or stack &#8230; <a title=\"[Solved] Where does the memory come from to initialize a C++ object without the new keyword?\" class=\"read-more\" href=\"https:\/\/jassweb.com\/solved\/solved-where-does-the-memory-come-from-to-initialize-a-c-object-without-the-new-keyword\/\" aria-label=\"More on [Solved] Where does the memory come from to initialize a C++ object without the new keyword?\">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],"class_list":["post-10140","post","type-post","status-publish","format-standard","hentry","category-solved","tag-c"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>[Solved] Where does the memory come from to initialize a C++ object without the new keyword? - 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-where-does-the-memory-come-from-to-initialize-a-c-object-without-the-new-keyword\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"[Solved] Where does the memory come from to initialize a C++ object without the new keyword? - JassWeb\" \/>\n<meta property=\"og:description\" content=\"[ad_1] Question: If not from the heap, where does the memory for C come from? From the stack (or in the case of a global variable or function &#8216;static&#8217; variable, from a statically allocated region that exists independently of both the heap and the stack). Strictly speaking, C++ has no concept of heap or stack ... Read more\" \/>\n<meta property=\"og:url\" content=\"https:\/\/jassweb.com\/solved\/solved-where-does-the-memory-come-from-to-initialize-a-c-object-without-the-new-keyword\/\" \/>\n<meta property=\"og:site_name\" content=\"JassWeb\" \/>\n<meta property=\"article:published_time\" content=\"2022-09-22T05:52:18+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=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-where-does-the-memory-come-from-to-initialize-a-c-object-without-the-new-keyword\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-where-does-the-memory-come-from-to-initialize-a-c-object-without-the-new-keyword\/\"},\"author\":{\"name\":\"Kirat\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31\"},\"headline\":\"[Solved] Where does the memory come from to initialize a C++ object without the new keyword?\",\"datePublished\":\"2022-09-22T05:52:18+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-where-does-the-memory-come-from-to-initialize-a-c-object-without-the-new-keyword\/\"},\"wordCount\":318,\"publisher\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\"},\"keywords\":[\"c++\"],\"articleSection\":[\"Solved\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-where-does-the-memory-come-from-to-initialize-a-c-object-without-the-new-keyword\/\",\"url\":\"https:\/\/jassweb.com\/solved\/solved-where-does-the-memory-come-from-to-initialize-a-c-object-without-the-new-keyword\/\",\"name\":\"[Solved] Where does the memory come from to initialize a C++ object without the new keyword? - JassWeb\",\"isPartOf\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#website\"},\"datePublished\":\"2022-09-22T05:52:18+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-where-does-the-memory-come-from-to-initialize-a-c-object-without-the-new-keyword\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/jassweb.com\/solved\/solved-where-does-the-memory-come-from-to-initialize-a-c-object-without-the-new-keyword\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-where-does-the-memory-come-from-to-initialize-a-c-object-without-the-new-keyword\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/jassweb.com\/solved\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"[Solved] Where does the memory come from to initialize a C++ object without the new keyword?\"}]},{\"@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] Where does the memory come from to initialize a C++ object without the new keyword? - 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-where-does-the-memory-come-from-to-initialize-a-c-object-without-the-new-keyword\/","og_locale":"en_US","og_type":"article","og_title":"[Solved] Where does the memory come from to initialize a C++ object without the new keyword? - JassWeb","og_description":"[ad_1] Question: If not from the heap, where does the memory for C come from? From the stack (or in the case of a global variable or function &#8216;static&#8217; variable, from a statically allocated region that exists independently of both the heap and the stack). Strictly speaking, C++ has no concept of heap or stack ... Read more","og_url":"https:\/\/jassweb.com\/solved\/solved-where-does-the-memory-come-from-to-initialize-a-c-object-without-the-new-keyword\/","og_site_name":"JassWeb","article_published_time":"2022-09-22T05:52:18+00:00","author":"Kirat","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Kirat","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/jassweb.com\/solved\/solved-where-does-the-memory-come-from-to-initialize-a-c-object-without-the-new-keyword\/#article","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/solved-where-does-the-memory-come-from-to-initialize-a-c-object-without-the-new-keyword\/"},"author":{"name":"Kirat","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31"},"headline":"[Solved] Where does the memory come from to initialize a C++ object without the new keyword?","datePublished":"2022-09-22T05:52:18+00:00","mainEntityOfPage":{"@id":"https:\/\/jassweb.com\/solved\/solved-where-does-the-memory-come-from-to-initialize-a-c-object-without-the-new-keyword\/"},"wordCount":318,"publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"keywords":["c++"],"articleSection":["Solved"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/jassweb.com\/solved\/solved-where-does-the-memory-come-from-to-initialize-a-c-object-without-the-new-keyword\/","url":"https:\/\/jassweb.com\/solved\/solved-where-does-the-memory-come-from-to-initialize-a-c-object-without-the-new-keyword\/","name":"[Solved] Where does the memory come from to initialize a C++ object without the new keyword? - JassWeb","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/#website"},"datePublished":"2022-09-22T05:52:18+00:00","breadcrumb":{"@id":"https:\/\/jassweb.com\/solved\/solved-where-does-the-memory-come-from-to-initialize-a-c-object-without-the-new-keyword\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/jassweb.com\/solved\/solved-where-does-the-memory-come-from-to-initialize-a-c-object-without-the-new-keyword\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/jassweb.com\/solved\/solved-where-does-the-memory-come-from-to-initialize-a-c-object-without-the-new-keyword\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/jassweb.com\/solved\/"},{"@type":"ListItem","position":2,"name":"[Solved] Where does the memory come from to initialize a C++ object without the new keyword?"}]},{"@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\/10140","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=10140"}],"version-history":[{"count":0,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/10140\/revisions"}],"wp:attachment":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/media?parent=10140"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/categories?post=10140"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/tags?post=10140"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}