{"id":32154,"date":"2023-01-27T03:09:47","date_gmt":"2023-01-26T21:39:47","guid":{"rendered":"https:\/\/jassweb.com\/solved\/solved-how-are-classes-managed-in-c-memory-management-study\/"},"modified":"2023-01-27T03:09:47","modified_gmt":"2023-01-26T21:39:47","slug":"solved-how-are-classes-managed-in-c-memory-management-study","status":"publish","type":"post","link":"https:\/\/jassweb.com\/solved\/solved-how-are-classes-managed-in-c-memory-management-study\/","title":{"rendered":"[Solved] How are classes managed in C++ memory management &#8211; study"},"content":{"rendered":"<p> [ad_1]<br \/>\n<\/p>\n<div id=\"answer-44703207\" class=\"answer js-answer accepted-answer js-accepted-answer\" data-answerid=\"44703207\" data-parentid=\"44702962\" 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>Here&#8217;s my best guess at the code you meant:<\/p>\n<pre><code>#include &lt;iostream&gt;\n\nusing namespace std;    \n\nchar *mystring = \"thestring\";  \/\/ extremely dangerous type mismatch, don't do this\nint msize = 200;\n\nint myfunc(int x)\n{\n  int y = 20;\n\n  x = x + y;\n\n  return x * y;\n}\n\nint main(void)\n{\n  int *px = new int;\n\n  cin &gt;&gt; *px;\n  cout &lt;&lt; myfunc(*px);\n  delete px;\n\n  return 0;\n}\n<\/code><\/pre>\n<p>The variables &#8216;mystring&#8217; and &#8216;msize&#8217; are global variables whose memory is statically allocated by the compiler.  These variables exist for the entire duration of any run of the program and, typically, can be accessed by name by any part of your program.<\/p>\n<p>&#8216;x&#8217; and &#8216;y&#8217; are local variables to the function &#8216;myfunc.&#8217;  They exist and are accessible by name only within each call to that function.<\/p>\n<p>&#8216;px&#8217; is a local variable to the function &#8216;main.&#8217;  &#8216;main&#8217; is somewhat special in that, typically, it is the entry point for your program and when it returns the program exits.  So, &#8216;px&#8217;s lifetime is essentially for the duration of the program although it can only be accessed by that name within the &#8216;main&#8217; function.<\/p>\n<p>&#8216;new int&#8217; explicitly dynamically allocates memory for an int that is then available until it is deallocated by a matching, explicit call to delete.<\/p>\n<p>Typically, memory for a local variable is pushed onto (and popped off of) a running thread&#8217;s stack as the thread enters and exits from the variable&#8217;s scope (with constructors and destructors being called as appropriate too).  Dynamically allocated memory is ultimately, explicitly managed per variable through calls to new and delete in C++ (or malloc and free in C).<\/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 How are classes managed in C++ memory management &#8211; study <\/p>\n","protected":false},"excerpt":{"rendered":"<p>[ad_1] Here&#8217;s my best guess at the code you meant: #include &lt;iostream&gt; using namespace std; char *mystring = &#8220;thestring&#8221;; \/\/ extremely dangerous type mismatch, don&#8217;t do this int msize = 200; int myfunc(int x) { int y = 20; x = x + y; return x * y; } int main(void) { int *px = &#8230; <a title=\"[Solved] How are classes managed in C++ memory management &#8211; study\" class=\"read-more\" href=\"https:\/\/jassweb.com\/solved\/solved-how-are-classes-managed-in-c-memory-management-study\/\" aria-label=\"More on [Solved] How are classes managed in C++ memory management &#8211; study\">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],"class_list":["post-32154","post","type-post","status-publish","format-standard","hentry","category-solved","tag-c","tag-class"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>[Solved] How are classes managed in C++ memory management - study - 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-how-are-classes-managed-in-c-memory-management-study\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"[Solved] How are classes managed in C++ memory management - study - JassWeb\" \/>\n<meta property=\"og:description\" content=\"[ad_1] Here&#8217;s my best guess at the code you meant: #include &lt;iostream&gt; using namespace std; char *mystring = &quot;thestring&quot;; \/\/ extremely dangerous type mismatch, don&#039;t do this int msize = 200; int myfunc(int x) { int y = 20; x = x + y; return x * y; } int main(void) { int *px = ... Read more\" \/>\n<meta property=\"og:url\" content=\"https:\/\/jassweb.com\/solved\/solved-how-are-classes-managed-in-c-memory-management-study\/\" \/>\n<meta property=\"og:site_name\" content=\"JassWeb\" \/>\n<meta property=\"article:published_time\" content=\"2023-01-26T21:39:47+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-how-are-classes-managed-in-c-memory-management-study\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-how-are-classes-managed-in-c-memory-management-study\/\"},\"author\":{\"name\":\"Kirat\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31\"},\"headline\":\"[Solved] How are classes managed in C++ memory management &#8211; study\",\"datePublished\":\"2023-01-26T21:39:47+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-how-are-classes-managed-in-c-memory-management-study\/\"},\"wordCount\":241,\"publisher\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\"},\"keywords\":[\"c++\",\"class\"],\"articleSection\":[\"Solved\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-how-are-classes-managed-in-c-memory-management-study\/\",\"url\":\"https:\/\/jassweb.com\/solved\/solved-how-are-classes-managed-in-c-memory-management-study\/\",\"name\":\"[Solved] How are classes managed in C++ memory management - study - JassWeb\",\"isPartOf\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#website\"},\"datePublished\":\"2023-01-26T21:39:47+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-how-are-classes-managed-in-c-memory-management-study\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/jassweb.com\/solved\/solved-how-are-classes-managed-in-c-memory-management-study\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-how-are-classes-managed-in-c-memory-management-study\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/jassweb.com\/solved\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"[Solved] How are classes managed in C++ memory management &#8211; study\"}]},{\"@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=1776403586\",\"contentUrl\":\"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1776403586\",\"caption\":\"Kirat\"},\"sameAs\":[\"http:\/\/jassweb.com\"],\"url\":\"https:\/\/jassweb.com\/solved\/author\/jaspritsinghghumangmail-com\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"[Solved] How are classes managed in C++ memory management - study - 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-how-are-classes-managed-in-c-memory-management-study\/","og_locale":"en_US","og_type":"article","og_title":"[Solved] How are classes managed in C++ memory management - study - JassWeb","og_description":"[ad_1] Here&#8217;s my best guess at the code you meant: #include &lt;iostream&gt; using namespace std; char *mystring = \"thestring\"; \/\/ extremely dangerous type mismatch, don't do this int msize = 200; int myfunc(int x) { int y = 20; x = x + y; return x * y; } int main(void) { int *px = ... Read more","og_url":"https:\/\/jassweb.com\/solved\/solved-how-are-classes-managed-in-c-memory-management-study\/","og_site_name":"JassWeb","article_published_time":"2023-01-26T21:39:47+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-how-are-classes-managed-in-c-memory-management-study\/#article","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/solved-how-are-classes-managed-in-c-memory-management-study\/"},"author":{"name":"Kirat","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31"},"headline":"[Solved] How are classes managed in C++ memory management &#8211; study","datePublished":"2023-01-26T21:39:47+00:00","mainEntityOfPage":{"@id":"https:\/\/jassweb.com\/solved\/solved-how-are-classes-managed-in-c-memory-management-study\/"},"wordCount":241,"publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"keywords":["c++","class"],"articleSection":["Solved"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/jassweb.com\/solved\/solved-how-are-classes-managed-in-c-memory-management-study\/","url":"https:\/\/jassweb.com\/solved\/solved-how-are-classes-managed-in-c-memory-management-study\/","name":"[Solved] How are classes managed in C++ memory management - study - JassWeb","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/#website"},"datePublished":"2023-01-26T21:39:47+00:00","breadcrumb":{"@id":"https:\/\/jassweb.com\/solved\/solved-how-are-classes-managed-in-c-memory-management-study\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/jassweb.com\/solved\/solved-how-are-classes-managed-in-c-memory-management-study\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/jassweb.com\/solved\/solved-how-are-classes-managed-in-c-memory-management-study\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/jassweb.com\/solved\/"},{"@type":"ListItem","position":2,"name":"[Solved] How are classes managed in C++ memory management &#8211; study"}]},{"@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=1776403586","contentUrl":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1776403586","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\/32154","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=32154"}],"version-history":[{"count":0,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/32154\/revisions"}],"wp:attachment":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/media?parent=32154"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/categories?post=32154"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/tags?post=32154"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}