1"use strict";(self.webpackChunkrenderdoc=self.webpackChunkrenderdoc||[]).push([[6139],{15834:(n,s,a)=>{a.r(s),a.d(s,{comp:()=>q,data:()=>z});var e=a(20641);const t=a.p+"assets/img/sington.8c3aa75c.jpg",o=a.p+"assets/img/singletonc++.9aa16811.png",l=a.p+"assets/img/setsing.5189c2cf.png",c=a.p+"assets/img/setsingclass.3ccf416e.png",p=a.p+"assets/img/nullptr.2c816875.jpg",i=a.p+"assets/img/cdosingleton.f56c4b40.png",k=a.p+"assets/img/gameinstanceprint.4156de95.png",u=(0,e.Fv)('<div class="language-cpp line-numbers-mode" data-ext="cpp" data-title="cpp"><pre class="language-cpp"><code><span class="token macro property"><span class="token directive-hash">#</span><span class="token directive keyword">include</span> <span class="token string"><iostream></span></span>\n<span class="token keyword">class</span> <span class="token class-name">MyClass</span> <span class="token punctuation">{</span> \n<span class="token punctuation">}</span>\n<span class="token keyword">int</span> <span class="token function">main</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>\n MyClass<span class="token operator">*</span> a <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token function">MyClass</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n <span class="token comment">//Do Someting</span>\n <span class="token keyword">delete</span> a<span class="token punctuation">;</span>\n<span class="token punctuation">}</span>\n</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div>',1),r=(0,e.Fv)('<ol><li><strong>é»è®¤æé 彿° (Default Constructor):</strong></li></ol><blockquote><p>å¦ææ²¡æä¸ºç±»å®ä¹ä»»ä½æé 彿°ï¼ç¼è¯å¨å°çæä¸ä¸ªæ åçé»è®¤æé 彿°ã</p></blockquote><ol start="2"><li><strong>ææå½æ° (Destructor):</strong></li></ol><blockquote><p>å¦ææ²¡ææ¾å¼å®ä¹ææå½æ°ï¼ç¼è¯å¨å°çæä¸ä¸ªé»è®¤çææå½æ°ãç¨äºå¨å¯¹è±¡çå½å¨æç»ææ¶è¿è¡æ¸
çå·¥ä½,å¦ <code>~MyClass()</code>ã</p></blockquote><ol start="3"><li><strong>æ·è´æé 彿° (Copy Constructor):</strong></li></ol><blockquote><p>å¦ææ²¡æå®ä¹èªå·±çæ·è´æé 彿°ï¼ç¼è¯å¨å°çæä¸ä¸ªé»è®¤çæ·è´æé 彿°ã éè¿å¤å¶å¦ä¸ä¸ªå¯¹è±¡æ¥åå§åä¸ä¸ªæ°å¯¹è±¡ï¼å¦ <code>MyClass obj1; MyClass obj2 = obj1;</code>ã</p></blockquote><ol start="4"><li><strong>æ·è´èµå¼è¿ç®ç¬¦ (Copy Assignment Operator):</strong></li></ol><blockquote><p>å¦ææ²¡æå®ä¹èªå·±çæ·è´èµå¼è¿ç®ç¬¦ï¼ç¼è¯å¨å°çæä¸ä¸ªé»è®¤çæ·è´èµå¼è¿ç®ç¬¦ã ç¨äºå°ä¸ä¸ªå¯¹è±¡çå¼å¤å¶ç»å¦ä¸ä¸ªå¯¹è±¡ï¼ä¾å¦ <code>MyClass obj1, obj2; obj2 = obj1;</code>ã</p></blockquote><div class="language-cpp line-numbers-mode" data-ext="cpp" data-title="cpp"><pre class="language-cpp"><code><span class="token keyword">class</span> <span class="token class-name">MyClass</span>\n<span class="token punctuation">{</span>\n<span class="token keyword">public</span><span class="token operator">:</span>\n <span class="token function">MyClass</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span><span class="token punctuation">}</span>\n <span class="token operator">~</span><span class="token function">MyClass</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span><span class="token punctuation">}</span>\n<span class="token punctuation">}</span><span class="token punctuation">;</span>\n</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div>',9),d=(0,e.Fv)('<blockquote><p>ç±»é»è®¤æ¯ç§æçã</p></blockquote><div class="language-cpp line-numbers-mode" data-ext="cpp" data-title="cpp"><pre class="language-cpp"><code><span class="token macro property"><span class="token directive-hash">#</span><span class="token directive keyword">include</span> <span class="token string"><iostream></span></span>\n\n<span class="token keyword">class</span> <span class="token class-name">MyClass</span>\n<span class="token punctuation">{</span>\n <span class="token function">MyClass</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span><span class="token punctuation">}</span>\n<span class="token keyword">public</span><span class="token operator">:</span>\n <span class="token operator">
1~</span><span class="token function">MyClass</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span><span class="token punctuation">}</span>\n<span class="token punctuation">}</span><span class="token punctuation">;</span>\n\n<span class="token keyword">int</span> <span class="token function">main</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>\n \n MyClass<span class="token operator">*</span> a <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token function">MyClass</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\n <span class="token keyword">return</span> <span class="token number">0</span><span class="token punctuation">;</span>\n<span class="token punctuation">}</span>\n</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div>',2),v=(0,e.Lk)("figure",null,[(0,e.Lk)("img",{src:t,alt:"",tabindex:"0",loading:"lazy"}),(0,e.Lk)("figcaption")],-1),m=(0,e.Fv)('<div class="language-cpp line-numbers-mode" data-ext="cpp" data-title="cpp"><pre class="language-cpp"><code><span class="token macro property"><span class="token directive-hash">#</span><span class="token directive keyword">include</span> <span class="token string"><iostream></span></span>\n\n<span class="token keyword">class</span> <span class="token class-name">Singleton</span> \n<span class="token punctuation">{</span>\n\n <span class="token comment">// å°æé 彿°ç§æå</span>\n <span class="token function">Singleton</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span><span class="token punctuation">}</span>\n\n<span class="token keyword">public</span><span class="token operator">:</span>\n<span class="token comment">// éææå彿°ï¼ç¨äºè·åç±»çå¯ä¸å®ä¾</span>\n<span class="token keyword">static</span> Singleton<span class="token operator">&</span> <span class="token function">getInstance</span><span class="token punctuation">(</span><span class="token punctuation">)</span> \n<span class="token punctuation">{</span>\n<span class="token keyword">static</span> Singleton instance<span class="token punctuation">;</span>\n<span class="token keyword">return</span> instance <span class="token punctuation">;</span>\n<span class="token punctuation">}</span>\n<span class="token keyword">void</span> <span class="token function">testfunction</span><span class="token punctuation">(</span><span class="token punctuation">)</span> \n<span class="token punctuation">{</span>\nstd<span class="token double-colon punctuation">::</span>cout<span class="token operator"><<</span><span class="token string">"testfunction"</span><span class="token operator"><<</span>std<span class="token double-colon punctuation">::</span>endl<span class="token punctuation">;</span>\n<span class="token punctuation">}</span>\n<span class="token punctuation">}</span><span class="token punctuation">;</span>\n\n<span class="token keyword">int</span> <span class="token function">main</span><span class="token punctuation">(</span><span class="token punctuation">)</span> \n<span class="token punctuation">{</span>\n <span class="token comment">// è·ååä¾å®ä¾</span>\n Singleton<span class="token operator">&</span> singletonInstance <span class="token operator">=</span> <span class="token class-name">Singleton</span><span class="token double-colon punctuation">::</span><span class="token function">getInstance</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n singletonInstance<span class="token punctuation">.</span><span class="token function">testfunction</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n <span class="token keyword">return</span> <span class="token number">0</span><span class="token punctuation">;</span>\n<span class="token punctuation">}</span>\n</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div>',1),L=(0,e.Fv)('<div class="language-cpp line-numbers-mode" data-ext="cpp" data-title="cpp"><pre class="language-cpp"><code><span class="token macro property"><span class="token directive-hash">#</span><span class="token directive keyword">include</span> <span class="token string"><iostream></span></span>\n\n<span class="token keyword">class</span> <span class="token class-name">Singleton</span> \n<span class="token punctuation">{</span>\n <span class="token comment">// å°æé 彿°ç§æå</span>\n <span class="token function">Singleton</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span><span class="token punctuation">}</span>\n\n<span class="token keyword">public</span><span class="token operator">:</span>\n <span class="token keyword">static</span> Singleton<span class="token operator">*</span> <span class="token function">getInstance</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
1\n <span class="token keyword">static</span> Singleton instance<span class="token punctuation">;</span>\n <span class="token keyword">return</span> <span class="token operator">&</span>instance<span class="token punctuation">;</span>\n <span class="token punctuation">}</span>\n <span class="token keyword">void</span> <span class="token function">testfunction</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>\n std<span class="token double-colon punctuation">::</span>cout<span class="token operator"><<</span><span class="token string">"testfunction"</span><span class="token operator"><<</span>std<span class="token double-colon punctuation">::</span>endl<span class="token punctuation">;</span>\n <span class="token punctuation">}</span>\n<span class="token punctuation">}</span><span class="token punctuation">;</span>\n\n<span class="token keyword">int</span> <span class="token function">main</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span> \n <span class="token comment">// è·ååä¾å®ä¾</span>\n Singleton<span class="token operator">*</span> singletonInstance <span class="token operator">=</span> <span class="token class-name">Singleton</span><span class="token double-colon punctuation">::</span><span class="token function">getInstance</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n singletonInstance<span class="token operator">-></span><span class="token function">testfunction</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n <span class="token keyword">return</span> <span class="token number">0</span><span class="token punctuation">;</span>\n<span class="token punctuation">}</span>\n</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><blockquote><p>ä¹å¯ä»¥æ¹åæå¨æå
ååé
å建åä¾å¯¹è±¡ï¼ææ±å¼ï¼,è¿ä¹æ¯æºè½æé管çå
åçæ ¸å¿ææ³ä¹ä¸ï¼ç¨æ·æ éå
³å¿æééæ¾æ¶æºã</p></blockquote><div class="language-cpp line-numbers-mode" data-ext="cpp" data-title="cpp"><pre class="language-cpp"><code><span class="token macro property"><span class="token directive-hash">#</span><span class="token directive keyword">include</span> <span class="token string"><iostream></span></span>\n\n<span class="token keyword">class</span> <span class="token class-name">Singleton</span> \n<span class="token punctuation">{</span>\n <span class="token comment">// å°æé 彿°ç§æå</span>\n <span class="token function">Singleton</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span><span class="token punctuation">}</span>\n\n<span class="token keyword">public</span><span class="token operator">:</span>\n <span class="token keyword">static</span> Singleton<span class="token operator">*</span> <span class="token function">getInstance</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>\n <span class="token keyword">static</span> Singleton<span class="token operator">*</span> instance <span class="token operator">=</span> <span class="token keyword">nullptr</span><span class="token punctuation">;</span>
1\n <span class="token keyword">if</span> <span class="token punctuation">(</span>instance <span class="token operator">==</span> <span class="token keyword">nullptr</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>\n instance <span class="token operator">=</span> <span class="token keyword">new</span> Singleton<span class="token punctuation">;</span>\n <span class="token punctuation">}</span>\n <span class="token keyword">return</span> instance<span class="token punctuation">;</span>\n <span class="token punctuation">}</span>\n\n <span class="token keyword">void</span> <span class="token function">testfunction</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>\n std<span class="token double-colon punctuation">::</span>cout <span class="token operator"><<</span> <span class="token string">"testfunction"</span> <span class="token operator"><<</span> std<span class="token double-colon punctuation">::</span>endl<span class="token punctuation">;</span>\n <span class="token punctuation">}</span>\n\n <span class="token operator">~</span><span class="token function">Singleton</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>\n <span class="token comment">// 卿æå½æ°ä¸éæ¾å¨æåé
çå
å</span>\n <span class="token keyword">if</span> <span class="token punctuation">(</span>instance <span class="token operator">!=</span> <span class="token keyword">nullptr</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>\n <span class="token keyword">delete</span> instance<span class="token punctuation">;</span>\n instance <span class="token operator">=</span> <span class="token keyword">nullptr</span><span class="token punctuation">;</span>\n <span class="token punctuation">}</span>\n <span class="token punctuation">}</span>\n<span class="token punctuation">}</span><span class="token punctuation">;</span>\n\n<span class="token keyword">int</span> <span class="token function">main</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span> \n <span class="token comment">// è·ååä¾å®ä¾</span>\n Singleton<span class="token operator">*</span> singletonInstance <span class="token operator">=</span> <span class="token class-name">Singleton</span><span class="token double-colon punctuation">::</span><span class="token function">getInstance</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n singletonInstance<span class="token operator">-></span><span class="token function">testfunction</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\n <span class="token comment">// å¨ç¨åºç»ææ¶ï¼ææå½æ°ä¼è¢«è°ç¨ï¼éæ¾å¨æåé
çå
å</span>\n\n <span class="token keyword">return</span> <span class="token number">0</span><span class="token punctuation">;</span>\n<span class="token punctuation">}</span>\n</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><div class="hint-container note"><p class="hint-container-title">注</p><p>èèUE大夿°æ
åµä¸æ éå¤çº¿ç¨ä½¿ç¨åä¾ï¼å æ¤æ²¡æèè线ç¨å®å
¨é®é¢ãææ±å¼å¤©ç线ç¨å®å
¨ï¼ä½é¥¿æ±å¼å¤çº¿ç¨ä¼åå¨çº¿ç¨å®å
¨é®é¢ï¼å¿
è¦æ¶èè使ç¨äºæ¥éãå鿣æ¥ã</p></div>',4),b=(0,e.Lk)("figure",null,[(0,e.Lk)("img",{src:o,alt:"",tabindex:"0",loading:"lazy"}),(0,e.Lk)("figcaption")],-1),g=(0,e.Lk)("blockquote",null,[(0,e.Lk)("p",null,"å¨UEä¸å®å¯æ¨è使ç¨ç»æä½åä¾ä¹ä¸æ¨èç´æ¥ç¨åçåä¾")],-1),W=(0,e.Lk)("h3",{id:"ç»å
¸æ¨¡å¼",tabindex:"-1"},[(0,e.Lk)("a",{class:"header-anchor",href:"#ç»å
¸æ¨¡å¼"},[(0,e.Lk)("span",null,"ç»å
¸æ¨¡å¼")])],-1),y=(0,e.Lk)("div",{class:"language-cpp line-numbers-mode","data-ext":"cpp","data-title":"cpp"},[(0,e.Lk)("pre",{class:"language-cpp"},[(0,e.Lk)("code",null,[(0,e.Lk)("span",{class:"token macro property"},[(0,e.Lk)("span",{class:"token directive-hash"},"#"),(0,e.Lk)("span",{class:"token directive keyword"},"pragma"),(0,e.eW)(),(0,e.Lk)("span",{class:"token expression"},"once")]),(0,e.eW)("\n\n"),(0,e.Lk)("span",{class:"token macro property"},[(0,e.Lk)("span",{class:"token directive-hash"},"#"),(0,e.Lk)("span",{class:"token directive keyword"},"include"),(0,e.eW)(),(0,e.Lk)("span",{class:"token string"},'"CoreMinimal.h"')]),(0,e.eW)("\n"),(0,e.Lk)("span",{class:"token macro property"},[(0,e.Lk)("span",{class:"token directive-hash"},"#"),(0,e.Lk)("span",{class:"token directive keyword"},"include"),(0,e.eW)(),(0,e.Lk)("span",{class:"token string"},'"UObject/ObjectMacros.h"')]),(0,e.eW)("\n"),(0,e.Lk)("span",{class:"token macro property"},[(0,e.Lk)("span",{class:"token directive-hash"},"#"),(0,e.Lk)("span",{class:"token directive keyword"},"include"),(0,e.eW)(),(0,e.Lk)("span",{class:"token string"},'"GameSingleton.generated.h"')]),(0,e.eW)("\n\n"),(0,e.Lk)("span",{class:"token function"},"UCLASS"),(0,e.Lk)("span",{class:"token punctuation"},"("),(0,e.eW)("Blueprintable"),(0,e.Lk)("span",{class:"token punctuation"},","),(0,e.eW)("BlueprintType"),(0,e.Lk)("span",{class:"token punctuation"},")"),(0,e.eW)("\n"),(0,e.Lk)("span",{class:"token keyword"},"class"),(0,e.eW)(),(0,e.Lk)("span",{class:"token class-name"},"EXORCIST_API"),(0,e.eW)(" UGameSingleton "),(0,e.Lk)("span",{class:"token operator"},":"),(0,e.eW)(),(0,e.Lk)("span",{class:"token keyword"},"public"),(0,e.eW)(" UObject\n"),(0,e.Lk)("span",{class:"token punctuation"},"{"),(0,e.eW)("\n\t"),(0,e.Lk)("span",{class:"token function"},"GENERATED_BODY"),(0,e.Lk)("span",{class:"token punctuation"},"("),(0,e.Lk)("span",{class:"token punctuation"},")"),(0,e.eW)("\n\t\n"),(0,e.Lk)("span",{class:"token keyword"}
1,"private"),(0,e.Lk)("span",{class:"token operator"},":"),(0,e.eW)("\n\t "),(0,e.Lk)("span",{class:"token function"},"UGameSingleton"),(0,e.Lk)("span",{class:"token punctuation"},"("),(0,e.Lk)("span",{class:"token punctuation"},")"),(0,e.eW)(),(0,e.Lk)("span",{class:"token punctuation"},"{"),(0,e.Lk)("span",{class:"token punctuation"},"}"),(0,e.eW)("\n"),(0,e.Lk)("span",{class:"token keyword"},"public"),(0,e.Lk)("span",{class:"token operator"},":"),(0,e.eW)("\n\t"),(0,e.Lk)("span",{class:"token function"},"UFUNCTION"),(0,e.Lk)("span",{class:"token punctuation"},"("),(0,e.eW)("BlueprintCallable"),(0,e.Lk)("span",{class:"token punctuation"},")"),(0,e.eW)("\n\t"),(0,e.Lk)("span",{class:"token keyword"},"static"),(0,e.eW)(" UGameSingleton"),(0,e.Lk)("span",{class:"token operator"},"*"),(0,e.eW)(),(0,e.Lk)("span",{class:"token function"},"GetInstance"),(0,e.Lk)("span",{class:"token punctuation"},"("),(0,e.Lk)("span",{class:"token punctuation"},")"),(0,e.Lk)("span",{class:"token punctuation"},";"),(0,e.eW)("\n"),(0,e.Lk)("span",{class:"token keyword"},"public"),(0,e.Lk)("span",{class:"token operator"},":"),(0,e.eW)("\n\t"),(0,e.Lk)("span",{class:"token function"},"UPROPERTY"),(0,e.Lk)("span",{class:"token punctuation"},"("),(0,e.eW)("BlueprintReadWrite"),(0,e.Lk)("span",{class:"token punctuation"},")"),(0,e.eW)("\n\tint32 InstanceCount "),(0,e.Lk)("span",{class:"token operator"},"="),(0,e.eW)(),(0,e.Lk)("span",{class:"token number"},"30"),(0,e.Lk)("span",{class:"token punctuation"},";"),(0,e.eW)("\n"),(0,e.Lk)("span",{class:"token punctuation"},"}"),(0,e.Lk)("span",{class:"token punctuation"},";"),(0,e.eW)("\n")])]),(0,e.Lk)("div",{class:"line-numbers","aria-hidden":"true"},[(0,e.Lk)("div",{class:"line-number"}),(0,e.Lk)("div",{class:"line-number"}),(0,e.Lk)("div",{class:"line-number"}),(0,e.Lk)("div",{class:"line-number"}),(0,e.Lk)("div",{class:"line-number"}),(0,e.Lk)("div",{class:"line-number"}),(0,e.Lk)("div",{class:"line-number"}),(0,e.Lk)("div",{class:"line-number"}),(0,e.Lk)("div",{class:"line-number"}),(0,e.Lk)("div",{class:"line-number"}),(0,e.Lk)("div",{class:"line-number"}),(0,e.Lk)("div",{class:"line-number"}),(0,e.Lk)("div",{class:"line-number"}),(0,e.Lk)("div",{class:"line-number"}),(0,e.Lk)("div",{class:"line-number"}),(0,e.Lk)("div",{class:"line-number"}),(0,e.Lk)("div",{class:"line-number"}),(0,e.Lk)("div",{class:"line-number"}),(0,e.Lk)("div",{class:"line-number"}),(0,e.Lk)("div",{class:"line-number"})])],-1),f=(0,e.Lk)("div",{class:"language-cpp line-numbers-mode","data-ext":"cpp","data-title":"cpp"},[(0,e.Lk)("pre",{class:"language-cpp"},[(0,e.Lk)("code",null,[(0,e.Lk)("span",{class:"token macro property"},[(0,e.Lk)("span",{class:"token directive-hash"},"#"),(0,e.Lk)("span",{class:"token directive keyword"},"include"),(0,e.eW)(),(0,e.Lk)("span",{class:"token string"},'"GameSingleton.h"')]),(0,e.eW)("\n\nUGameSingleton"),(0,e.Lk)("span",{class:"token operator"},"*"),(0,e.eW)(),(0,e.Lk)("span",{class:"token class-name"},"UGameSingleton"),(0,e.Lk)("span",{class:"token double-colon punctuation"},"::"),(0,e.Lk)("span",{class:"token function"},"GetInstance"),(0,e.Lk)("span",{class:"token punctuation"},"("),(0,e.Lk)("span",{class:"token punctuation"},")"),(0,e.eW)("\n"),(0,e.Lk)("span",{class:"token punctuation"},"{"),(0,e.eW)("\n\t"),(0,e.Lk)("span",{class:"token keyword"},"static"),(0,e.eW)(" UGameSingleton"),(0,e.Lk)("span",{class:"token operator"},"*"),(0,e.eW)(" instance"),(0,e.Lk)("span",{class:"token operator"},"="),(0,e.Lk)("span",{class:"token keyword"},"nullptr"),(0,e.Lk)("span",{class:"token punctuation"},";"),(0,e.eW)("\n\t"),(0,e.Lk)("span",{class:"token keyword"},"if"),(0,e.eW)(),(0,e.Lk)("span",{class:"token punctuation"},"("),(0,e.eW)("instance"),(0,e.Lk)("span",{class:"token operator"},"=="),(0,e.Lk)("span",{class:"token keyword"},"nullptr"),(0,e.Lk)("span",{class:"token punctuation"},")"),(0,e.eW)("\n\t"),(0,e.Lk)("span",{class:"token punctuation"},"{"),(0,e.eW)("\n\t\tinstance"),(0,e.Lk)("span",{class:"token operator"},"="),(0,e.Lk)("span",{class:"token generic-function"},[(0,e.Lk)("span",{class:"token function"},"NewObject"),(0,e.Lk)("span",{class:"token generic class-name"},[(0,e.Lk)("span",{class:"token operator"},"<"),(0,e.eW)("UGameSingleton"),(0,e.Lk)("span",{class:"token operator"},">")])]),(0,e.Lk)("span",{class:"token punctuation"},"("),(0,e.Lk)("span",{class:"token punctuation"},")"),(0,e.Lk)("span",{class:"token punctuation"},";"),(0,e.eW)("\n\t\tinstance"),(0,e.Lk)("span",{class:"token operator"},"->"),(0,e.Lk)("span",{class:"token function"},"AddToRoot"),(0,e.Lk)("span",{class:"token punctuation"},"("),(0,e.Lk)("span",{class:"token punctuation"},")"),(0,e.Lk)("span",{class:"token punctuation"},";"),(0,e.eW)("\n\t"),(0,e.Lk)("span",{class:"token punctuation"},"}"),(0,e.eW)("\n\t"),(0,e.Lk)("span",{class:"token keyword"},"return"),(0,e.eW)(" instance"),(0,e.Lk)("span",{class:"token punctuation"},";"),(0,e.eW)("\n"),(0,e.Lk)("span",{class:"token punctuation"},"}"),(0,e.eW)("\n")])]),(0,e.Lk)("div",{class:"line-numbers","aria-hidden":"true"},[(0,e.Lk)("div",{class:"line-number"}),(0,e.Lk)("div",{class:"line-number"}),(0,e.Lk)("div",{class:"line-number"}),(0,e.Lk)("div",{class:"line-number"}),(0,e.Lk)("div",{class:"line-number"}),(0,e.Lk)("div",{class:"line-number"}),(0,e.Lk)("div",{class:"line-number"}),(0,e.Lk)("div",{class:"line-number"}),(0,e.Lk)("div",{class:"line-number"}),(0,e.Lk)("div",{class:"line-number"}),(0,e.Lk)("div",{class:"line-number"}),(0,e.Lk)("div",{class:"line-number"})])],-1),h=(0,e.Lk)("figure",null,[(0,e.Lk)("img",{src:l,alt:"",tabindex:"0",loading:"lazy"}),(0,e.Lk)("figcaption")],-1),w=(0,e.Lk)("h3",{id:"enginesingleton",tabindex:"-1"},[(0,e.Lk)("a",{class:"header-anchor",href:"#enginesingleton"},[(0,e.Lk)("span",null,"EngineSingleton")])],-1),S=(0,e.Lk)("div",{class:"language-cpp line-numbers-mode","data-ext":"cpp","data-title":"cpp"},[(0,e.Lk)("pre",{class:"language-cpp"},[(0,e.Lk)("code",null,[(0,e.Lk)("span",{class:"token macro property"},[(0,e.Lk)("span",{class:"token directive-hash"},"#"),(0,e.Lk)("span",{class:"token directive keyword"},"pragma"),(0,e.eW)(),(0,e.Lk)("span",{class:"token expression"},"once")]),(0,e.eW)("\n\n"),(0,e.Lk)("span",{class:"token macro property"},[(0,e.Lk)("span",{class:"token directive-hash"},"#"),(0,e.Lk)("span",{class:"token directive keyword"},"include"),(0,e.eW)(),(0,e.Lk)("span",{class:"token string"},'"CoreMinimal.h"')]),(0,e.eW)("\n"),(0,e.Lk)("span",{class:"token macro property"},[(0,e.Lk)("span",{class:"token directive-hash"},"#"),(0,e.Lk)("span",{class:"token directive keyword"},"include"),(0,e.eW)(),(0,e.Lk)("span",{class:"token string"},'"UObject/ObjectMacros.h"')]),(0,e.eW)("\n"),(0,e.Lk)("span",{class:"token macro property"},[(0,e.Lk)("span",{class:"token directive-hash"},"#"),(0,e.Lk)("span",{class:"token directive keyword"},"include"),(0,e.eW)(),(0,e.Lk)("span",{class:"token string"},'"GameSingleton.generated.h"')]),(0,e.eW)("\n\n"),(0,e.Lk)("span",{class:"token function"},"UCLASS"),(0,e.Lk)("span",{class:"token punctuation"},"("),(0,e.eW)("Blueprintable"),(0,e.Lk)("span",{class:"token punctuation"},","),(0,e.eW)("BlueprintType"),(0,e.Lk)("span",{class:"token punctuation"},")"),(0,e.eW)("\n"),(0,e.Lk)("span",{class:"token keyword"},"class"),(0,e.eW)(),(0,e.Lk)("span",{class:"token class-name"},"EXORCIST_API"),(0,e.eW)(" UGameSingleton "),(0,e.Lk)("span",{class:"token operator"},":"),(0,e.eW)(),(0,e.Lk)("span",{class:"token keyword"},"public"),(0,e.eW)(" UObject\n"),(0,e.Lk)("span",{class:"token punctuation"},"{"),(0,e.eW)("\n\t"),(0,e.Lk)("span",{class:"token function"},"GENERATED_BODY"),(0,e.Lk)("span",{class:"token punctuation"},"("),(0,e.Lk)("span",{class:"token punctuation"},")"),(0,e.eW)("\n\t\n"),(0,e.Lk)("span",{class:"token keyword"}
1,"private"),(0,e.Lk)("span",{class:"token operator"},":"),(0,e.eW)("\n\t "),(0,e.Lk)("span",{class:"token function"},"UGameSingleton"),(0,e.Lk)("span",{class:"token punctuation"},"("),(0,e.Lk)("span",{class:"token punctuation"},")"),(0,e.eW)(),(0,e.Lk)("span",{class:"token punctuation"},"{"),(0,e.Lk)("span",{class:"token punctuation"},"}"),(0,e.eW)("\n"),(0,e.Lk)("span",{class:"token keyword"},"public"),(0,e.Lk)("span",{class:"token operator"},":"),(0,e.eW)("\n\t"),(0,e.Lk)("span",{class:"token function"},"UFUNCTION"),(0,e.Lk)("span",{class:"token punctuation"},"("),(0,e.eW)("BlueprintCallable"),(0,e.Lk)("span",{class:"token punctuation"},")"),(0,e.eW)("\n\t"),(0,e.Lk)("span",{class:"token keyword"},"static"),(0,e.eW)(" UGameSingleton"),(0,e.Lk)("span",{class:"token operator"},"*"),(0,e.eW)(),(0,e.Lk)("span",{class:"token function"},"GetInstance"),(0,e.Lk)("span",{class:"token punctuation"},"("),(0,e.Lk)("span",{class:"token punctuation"},")"),(0,e.Lk)("span",{class:"token punctuation"},";"),(0,e.eW)("\n"),(0,e.Lk)("span",{class:"token keyword"},"public"),(0,e.Lk)("span",{class:"token operator"},":"),(0,e.eW)("\n\t"),(0,e.Lk)("span",{class:"token function"},"UPROPERTY"),(0,e.Lk)("span",{class:"token punctuation"},"("),(0,e.eW)("BlueprintReadWrite"),(0,e.Lk)("span",{class:"token punctuation"},")"),(0,e.eW)("\n\tint32 InstanceCount "),(0,e.Lk)("span",{class:"token operator"},"="),(0,e.eW)(),(0,e.Lk)("span",{class:"token number"},"30"),(0,e.Lk)("span",{class:"token punctuation"},";"),(0,e.eW)("\n"),(0,e.Lk)("span",{class:"token punctuation"},"}"),(0,e.Lk)("span",{class:"token punctuation"},";"),(0,e.eW)("\n\n\n")])]),(0,e.Lk)("div",{class:"line-numbers","aria-hidden":"true"},[(0,e.Lk)("div",{class:"line-number"}),(0,e.Lk)("div",{class:"line-number"}),(0,e.Lk)("div",{class:"line-number"}),(0,e.Lk)("div",{class:"line-number"}),(0,e.Lk)("div",{class:"line-number"}),(0,e.Lk)("div",{class:"line-number"}),(0,e.Lk)("div",{class:"line-number"}),(0,e.Lk)("div",{class:"line-number"}),(0,e.Lk)("div",{class:"line-number"}),(0,e.Lk)("div",{class:"line-number"}),(0,e.Lk)("div",{class:"line-number"}),(0,e.Lk)("div",{class:"line-number"}),(0,e.Lk)("div",{class:"line-number"}),(0,e.Lk)("div",{class:"line-number"}),(0,e.Lk)("div",{class:"line-number"}),(0,e.Lk)("div",{class:"line-number"}),(0,e.Lk)("div",{class:"line-number"}),(0,e.Lk)("div",{class:"line-number"}),(0,e.Lk)("div",{class:"line-number"}),(0,e.Lk)("div",{class:"line-number"}),(0,e.Lk)("div",{class:"line-number"}),(0,e.Lk)("div",{class:"line-number"})])],-1),C=(0,e.Lk)("div",{class:"language-cpp line-numbers-mode","data-ext":"cpp","data-title":"cpp"},[(0,e.Lk)("pre",{class:"language-cpp"},[(0,e.Lk)("code",null,[(0,e.Lk)("span",{class:"token macro property"},[(0,e.Lk)("span",{class:"token directive-hash"},"#"),(0,e.Lk)("span",{class:"token directive keyword"},"include"),(0,e.eW)(),(0,e.Lk)("span",{class:"token string"},'"GameSingleton.h"')]),(0,e.eW)("\n\nUGameSingleton"),(0,e.Lk)("span",{class:"token operator"},"*"),(0,e.eW)(),(0,e.Lk)("span",{class:"token class-name"},"UGameSingleton"),(0,e.Lk)("span",{class:"token double-colon punctuation"},"::"),(0,e.Lk)("span",{class:"token function"},"GetInstance"),(0,e.Lk)("span",{class:"token punctuation"},"("),(0,e.Lk)("span",{class:"token punctuation"},")"),(0,e.eW)("\n"),(0,e.Lk)("span",{class:"token punctuation"},"{"),(0,e.eW)("\n\t"),(0,e.Lk)("span",{class:"token keyword"},"if"),(0,e.eW)(),(0,e.Lk)("span",{class:"token punctuation"},"("),(0,e.eW)("GEngine"),(0,e.Lk)("span",{class:"token punctuation"},")"),(0,e.eW)("\n\t"),(0,e.Lk)("span",{class:"token punctuation"},"{"),(0,e.eW)("\n\t\tUGameSingleton"),(0,e.Lk)("span",{class:"token operator"},"*"),(0,e.eW)(" Instance "),(0,e.Lk)("span",{class:"token operator"},"="),(0,e.eW)(),(0,e.Lk)("span",{class:"token generic-function"},[(0,e.Lk)("span",{class:"token function"},"Cast"),(0,e.Lk)("span",{class:"token generic class-name"},[(0,e.Lk)("span",{class:"token operator"},"<"),(0,e.eW)("UGameSingleton"),(0,e.Lk)("span",{class:"token operator"},">")])]),(0,e.Lk)("span",{class:"token punctuation"},"("),(0,e.eW)("GEngine"),(0,e.Lk)("span",{class:"token operator"},"->"),(0,e.eW)("GameSingleton"),(0,e.Lk)("span",{class:"token punctuation"},")"),(0,e.Lk)("span",{class:"token punctuation"},";"),(0,e.eW)("\n\t\t"),(0,e.Lk)("span",{class:"token keyword"},"if"),(0,e.Lk)("span",{class:"token punctuation"},"("),(0,e.eW)("Instance"),(0,e.Lk)("span",{class:"token punctuation"},")"),(0,e.eW)("\n\t\t"),(0,e.Lk)("span",{class:"token punctuation"},"{"),(0,e.eW)("\n\t\t "),(0,e.Lk)("span",{class:"token keyword"},"return"),(0,e.eW)(" Instance"),(0,e.Lk)("span",{class:"token punctuation"},";"),(0,e.eW)("\n\t\t"),(0,e.Lk)("span",{class:"token punctuation"},"}"),(0,e.eW)("\n\n\t"),(0,e.Lk)("span",{class:"token punctuation"},"}"),(0,e.eW)("\n\t"),(0,e.Lk)("span",{class:"token keyword"},"return"),(0,e.eW)(),(0,e.Lk)("span",{class:"token keyword"},"nullptr"),(0,e.Lk)("span",{class:"token punctuation"},";"),(0,e.eW)("\n"),(0,e.Lk)("span",{class:"token punctuation"},"}"),(0,e.eW)("\n")])]),(0,e.Lk)("div",{class:"line-numbers","aria-hidden":"true"},[(0,e.Lk)("div",{class:"line-number"}),(0,e.Lk)("div",{class:"line-number"}),(0,e.Lk)("div",{class:"line-number"}),(0,e.Lk)("div",{class:"line-number"}),(0,e.Lk)("div",{class:"line-number"}),(0,e.Lk)("div",{class:"line-number"}),(0,e.Lk)("div",{class:"line-number"}),(0,e.Lk)("div",{class:"line-number"}),(0,e.Lk)("div",{class:"line-number"}),(0,e.Lk)("div",{class:"line-number"}),(0,e.Lk)("div",{class:"line-number"}),(0,e.Lk)("div",{class:"line-number"}),(0,e.Lk)("div",{class:"line-number"}),(0,e.Lk)("div",{class:"line-number"}),(0,e.Lk)("div",{class:"line-number"})])],-1),F=(0,e.Lk)("figure",null,[(0,e.Lk)("img",{src:c,alt:"",tabindex:"0",loading:"lazy"}),(0,e.Lk)("figcaption")],-1),j=(0,e.Fv)('<div class="language-cpp line-numbers-mode" data-ext="cpp" data-title="cpp"><pre class="language-cpp"><code>UGameSingleton<span class="token operator">*</span> Instance <span class="token operator">=</span> <span class="token generic-function"><span class="token function">Cast</span><span class="token generic class-name"><span class="token operator"><</span>UGameSingleton<span class="token operator">></span></span></span><span class="token punctuation">(</span>GEngine<span class="token operator">-></span>GameSingleton<span class="token punctuation">)</span><span class="token punctuation">;</span><span class="token comment">//没æè®¾ç½®æ¿ä¸å°å¯¹åºå¯¹è±¡å®ä¾æéã</span>\n</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><figure><img src="'+p+'" alt="" tabindex="0" loading="lazy"><figcaption></figcaption></figure><h3 id="cdosingleton" tabindex="-1"><a class="header-anchor" href="#cdosingleton"><span>CDOSingleton</span></a></h3>',3),G=(0,e.Lk)("figure",null,[(0,e.Lk)("img",{src:i,alt:"",tabindex:"0",loading:"lazy"}),(0,e.Lk)("figcaption")],-1),U=(0,e.Lk)("div",{class:"language-cpp line-numbers-mode","data-ext":"cpp","data-title":"cpp"},[(0,e.Lk)("pre",{class:"language-cpp"},[(0,e.Lk)("code",null,[(0,e.Lk)("span",{class:"token macro property"},[(0,e.Lk)("span",{class:"token directive-hash"},"#"),(0,e.Lk)("span",{class:"token directive keyword"},"pragma"),(0,e.eW)(),(0,e.Lk)("span",{class:"token expression"},"once")]),(0,e.eW)("\n\n"),(0,e.Lk)("span",{class:"token macro property"},[(0,e.Lk)("span",{class:"token directive-hash"},"#"),(0,e.Lk)("span",{class:"token directive keyword"},"include"),(0,e.eW)(),(0,e.Lk)("span",{class:"token string"},'"CoreMinimal.h"')]),(0,e.eW)("\n"),(0,e.Lk)("span",{class:"token macro property"},[(0,e.Lk)("span",{class:"token directive-hash"},"#"),(0,e.Lk)("span",{class:"token directive keyword"},"include"),(0,e.eW)(),(0,e.Lk)("span",{class:"token string"},'"UObject/NoExportTypes.h"')]),(0,e.eW)("\n"),(0,e.Lk)("span",{class:"token macro property"},[(0,e.Lk)("span",{class:"token directive-hash"},"#"),(0,e.Lk)("span",{class:"token directive keyword"},"include"),(0,e.eW)(),(0,e.Lk)("span",{class:"token string"},'"MySingleton.generated.h"')]),(0,e.eW)("\n\n"),(0,e.Lk)("span",{class:"token function"},"UCLASS"),(0,e.Lk)("span",{class:"token punctuation"},"("),(0,e.eW)("BlueprintType"),(0,e.Lk)("span",{class:"token punctuation"},","),(0,e.eW)("Blueprintable"),(0,e.Lk)("span",{class:"token punctuation"},")"),(0,e.eW)("\n"),(0,e.Lk)("span",{class:"token keyword"},"class"),(0,e.eW)(),(0,e.Lk)("span",{class:"token class-name"},"UMySingleton"),(0,e.eW)(),(0,e.Lk)("span",{class:"token operator"},":"),(0,e.eW)(),(0,e.Lk)("span",{class:"token base-clause"},[(0,e.Lk)("span",{class:"token keyword"},"public"),(0,e.eW)(),(0,e.Lk)("span",{class:"token class-name"},"UObject")]),(0,e.eW)("\n"),(0,e.Lk)("span",{class:"token punctuation"},"{"),(0,e.eW)("\n\t"),(0,e.Lk)("span",{class:"token function"},"GENERATED_BODY"),(0,e.Lk)("span",{class:"token punctuation"},"("),(0,e.Lk)("span",{class:"token punctuation"},")"),(0,e.eW)("\n"),(0,e.Lk)("span",{class:"token keyword"},"public"),(0,e.Lk)("span",{class:"token operator"},":"),(0,e.eW)("\n "),(0,e.Lk)("span",{class:"token function"},"UMySingleton"),(0,e.Lk)("span",{class:"token punctuation"},"("),(0,e.Lk)("span",{class:"token keyword"},"const"),(0,e.eW)(" FObjectInitializer"),(0,e.Lk)("span",{class:"token operator"}
1,"&"),(0,e.eW)(" ObjectInitializer"),(0,e.Lk)("span",{class:"token punctuation"},")"),(0,e.Lk)("span",{class:"token punctuation"},";"),(0,e.eW)("\n \n "),(0,e.Lk)("span",{class:"token function"},"UFUNCTION"),(0,e.Lk)("span",{class:"token punctuation"},"("),(0,e.eW)("BlueprintPure"),(0,e.Lk)("span",{class:"token punctuation"},","),(0,e.eW)(" Category"),(0,e.Lk)("span",{class:"token operator"},"="),(0,e.eW)("MySingleton"),(0,e.Lk)("span",{class:"token punctuation"},")"),(0,e.eW)("\n "),(0,e.Lk)("span",{class:"token keyword"},"static"),(0,e.eW)(" UMySingleton"),(0,e.Lk)("span",{class:"token operator"},"*"),(0,e.eW)(),(0,e.Lk)("span",{class:"token function"},"GetInstance"),(0,e.Lk)("span",{class:"token punctuation"},"("),(0,e.Lk)("span",{class:"token punctuation"},")"),(0,e.Lk)("span",{class:"token punctuation"},";"),(0,e.eW)("\n \n "),(0,e.Lk)("span",{class:"token function"},"UFUNCTION"),(0,e.Lk)("span",{class:"token punctuation"},"("),(0,e.eW)("BlueprintCallable"),(0,e.Lk)("span",{class:"token punctuation"},","),(0,e.eW)(" Category"),(0,e.Lk)("span",{class:"token operator"},"="),(0,e.eW)("MySingleton"),(0,e.Lk)("span",{class:"token punctuation"},")"),(0,e.eW)("\n "),(0,e.Lk)("span",{class:"token keyword"},"void"),(0,e.eW)(),(0,e.Lk)("span",{class:"token function"},"SetTestStr"),(0,e.Lk)("span",{class:"token punctuation"},"("),(0,e.eW)("FString InStr"),(0,e.Lk)("span",{class:"token punctuation"},")"),(0,e.Lk)("span",{class:"token punctuation"},";"),(0,e.eW)("\n \n "),(0,e.Lk)("span",{class:"token function"},"UFUNCTION"),(0,e.Lk)("span",{class:"token punctuation"},"("),(0,e.eW)("BlueprintCallable"),(0,e.Lk)("span",{class:"token punctuation"},","),(0,e.eW)(" Category"),(0,e.Lk)("span",{class:"token operator"},"="),(0,e.eW)("MySingleton"),(0,e.Lk)("span",{class:"token punctuation"},")"),(0,e.eW)("\n FString "),(0,e.Lk)("span",{class:"token function"},"GetTestStr"),(0,e.Lk)("span",{class:"token punctuation"},"("),(0,e.Lk)("span",{class:"token punctuation"},")"),(0,e.Lk)("span",{class:"token punctuation"},";"),(0,e.eW)("\n"),(0,e.Lk)("span",{class:"token keyword"}
1,"private"),(0,e.Lk)("span",{class:"token operator"},":"),(0,e.eW)("\n FString TestStr"),(0,e.Lk)("span",{class:"token punctuation"},";"),(0,e.eW)("\n"),(0,e.Lk)("span",{class:"token punctuation"},"}"),(0,e.Lk)("span",{class:"token punctuation"},";"),(0,e.eW)("\n")])]),(0,e.Lk)("div",{class:"line-numbers","aria-hidden":"true"},[(0,e.Lk)("div",{class:"line-number"}),(0,e.Lk)("div",{class:"line-number"}),(0,e.Lk)("div",{class:"line-number"}),(0,e.Lk)("div",{class:"line-number"}),(0,e.Lk)("div",{class:"line-number"}),(0,e.Lk)("div",{class:"line-number"}),(0,e.Lk)("div",{class:"line-number"}),(0,e.Lk)("div",{class:"line-number"}),(0,e.Lk)("div",{class:"line-number"}),(0,e.Lk)("div",{class:"line-number"}),(0,e.Lk)("div",{class:"line-number"}),(0,e.Lk)("div",{class:"line-number"}),(0,e.Lk)("div",{class:"line-number"}),(0,e.Lk)("div",{class:"line-number"}),(0,e.Lk)("div",{class:"line-number"}),(0,e.Lk)("div",{class:"line-number"}),(0,e.Lk)("div",{class:"line-number"}),(0,e.Lk)("div",{class:"line-number"}),(0,e.Lk)("div",{class:"line-number"}),(0,e.Lk)("div",{class:"line-number"}),(0,e.Lk)("div",{class:"line-number"}),(0,e.Lk)("div",{class:"line-number"}),(0,e.Lk)("div",{class:"line-number"}),(0,e.Lk)("div",{class:"line-number"})])],-1),_=(0,e.Lk)("div",{class:"language-cpp line-numbers-mode","data-ext":"cpp","data-title":"cpp"},[(0,e.Lk)("pre",{class:"language-cpp"},[(0,e.Lk)("code",null,[(0,e.Lk)("span",{class:"token macro property"},[(0,e.Lk)("span",{class:"token directive-hash"},"#"),(0,e.Lk)("span",{class:"token directive keyword"},"include"),(0,e.eW)(),(0,e.Lk)("span",{class:"token string"},'"Singleton.h"')]),(0,e.eW)("\n\n"),(0,e.Lk)("span",{class:"token class-name"},"UMySingleton"),(0,e.Lk)("span",{class:"token double-colon punctuation"},"::"),(0,e.Lk)("span",{class:"token function"},"UMySingleton"),(0,e.Lk)("span",{class:"token punctuation"},"("),(0,e.Lk)("span",{class:"token keyword"},"const"),(0,e.eW)(" FObjectInitializer"),(0,e.Lk)("span",{class:"token operator"},"&"),(0,e.eW)(" ObjectInitializer"),(0,e.Lk)("span",{class:"token punctuation"},")"),(0,e.eW)("\n\t"),(0,e.Lk)("span",{class:"token operator"},":"),(0,e.Lk)("span",{class:"token function"},"Super"),(0,e.Lk)("span",{class:"token punctuation"},"("),(0,e.eW)("ObjectInitializer"),(0,e.Lk)("span",{class:"token punctuation"},")"),(0,e.eW)("\n"),(0,e.Lk)("span",{class:"token punctuation"},"{"),(0,e.eW)("\n"),(0,e.Lk)("span",{class:"token punctuation"},"}"),(0,e.eW)("\n\nUMySingleton"),(0,e.Lk)("span",{class:"token operator"},"*"),(0,e.eW)(),(0,e.Lk)("span",{class:"token class-name"},"UMySingleton"),(0,e.Lk)("span",{class:"token double-colon punctuation"},"::"),(0,e.Lk)("span",{class:"token function"},"GetInstance"),(0,e.Lk)("span",{class:"token punctuation"},"("),(0,e.Lk)("span",{class:"token punctuation"},")"),(0,e.eW)("\n"),(0,e.Lk)("span",{class:"token punctuation"},"{"),(0,e.eW)("\n "),(0,e.Lk)("span",{class:"token comment"},"// 大夿°æ
åµä¸CDOä¸åºè¯¥è¢«ä¿®æ¹ï¼ä½¿ç¨GetDefaultï¼ï¼è¿é使ç¨GetMutableDefaultè¿åçæ¯å¯ä¿®æ¹çæ¬ã"),(0,e.eW)("\n "),(0,e.Lk)("span",{class:"token keyword"},"return"),(0,e.eW)(),(0,e.Lk)("span",{class:"token generic-function"},[(0,e.Lk)("span",{class:"token function"},"GetMutableDefault"),(0,e.Lk)("span",{class:"token generic class-name"},[(0,e.Lk)("span",{class:"token operator"},"<"),(0,e.eW)("UMySingleton"),(0,e.Lk)("span",{class:"token operator"},">")])]),(0,e.Lk)("span",{class:"token punctuation"},"("),(0,e.Lk)("span",{class:"token punctuation"},")"),(0,e.Lk)("span",{class:"token punctuation"},";"),(0,e.eW)("\n"),(0,e.Lk)("span",{class:"token punctuation"},"}"),(0,e.eW)("\n\n"),(0,e.Lk)("span",{class:"token keyword"},"void"),(0,e.eW)(),(0,e.Lk)("span",{class:"token class-name"},"UMySingleton"),(0,e.Lk)("span",{class:"token double-colon punctuation"},"::"),(0,e.Lk)("span",{class:"token function"},"SetTestStr"),(0,e.Lk)("span",{class:"token punctuation"},"("),(0,e.eW)("FString InStr"),(0,e.Lk)("span",{class:"token punctuation"},")"),(0,e.eW)("\n"),(0,e.Lk)("span",{class:"token punctuation"},"{"),(0,e.eW)("\n TestStr "),(0,e.Lk)("span",{class:"token operator"},"="),(0,e.eW)(" InStr"),(0,e.Lk)("span",{class:"token punctuation"},";"),(0,e.eW)("\n"),(0,e.Lk)("span",{class:"token punctuation"},"}
1"),(0,e.eW)("\n\nFString "),(0,e.Lk)("span",{class:"token class-name"},"UMySingleton"),(0,e.Lk)("span",{class:"token double-colon punctuation"},"::"),(0,e.Lk)("span",{class:"token function"},"GetTestStr"),(0,e.Lk)("span",{class:"token punctuation"},"("),(0,e.Lk)("span",{class:"token punctuation"},")"),(0,e.eW)("\n"),(0,e.Lk)("span",{class:"token punctuation"},"{"),(0,e.eW)("\n "),(0,e.Lk)("span",{class:"token keyword"},"return"),(0,e.eW)(" TestStr"),(0,e.Lk)("span",{class:"token punctuation"},";"),(0,e.eW)("\n"),(0,e.Lk)("span",{class:"token punctuation"},"}"),(0,e.eW)("\n")])]),(0,e.Lk)("div",{class:"line-numbers","aria-hidden":"true"},[(0,e.Lk)("div",{class:"line-number"}),(0,e.Lk)("div",{class:"line-number"}),(0,e.Lk)("div",{class:"line-number"}),(0,e.Lk)("div",{class:"line-number"}),(0,e.Lk)("div",{class:"line-number"}),(0,e.Lk)("div",{class:"line-number"}),(0,e.Lk)("div",{class:"line-number"}),(0,e.Lk)("div",{class:"line-number"}),(0,e.Lk)("div",{class:"line-number"}),(0,e.Lk)("div",{class:"line-number"}),(0,e.Lk)("div",{class:"line-number"}),(0,e.Lk)("div",{class:"line-number"}),(0,e.Lk)("div",{class:"line-number"}),(0,e.Lk)("div",{class:"line-number"}),(0,e.Lk)("div",{class:"line-number"}),(0,e.Lk)("div",{class:"line-number"}),(0,e.Lk)("div",{class:"line-number"}),(0,e.Lk)("div",{class:"line-number"}),(0,e.Lk)("div",{class:"line-number"}),(0,e.Lk)("div",{class:"line-number"}),(0,e.Lk)("div",{class:"line-number"}),(0,e.Lk)("div",{class:"line-number"})])],-1),M=(0,e.Lk)("h3",{id:"gameinstance",tabindex:"-1"},[(0,e.Lk)("a",{class:"header-anchor",href:"#gameinstance"},[(0,e.Lk)("span",null,"GameInstance")])],-1),I=(0,e.Lk)("figure",null,[(0,e.Lk)("img",{src:k,alt:"",tabindex:"0",loading:"lazy"}),(0,e.Lk)("figcaption")],-1),E=(0,e.Lk)("h3",{id:"subsystem-åç³»ç»",tabindex:"-1"},[(0,e.Lk)("a",{class:"header-anchor",href:"#subsystem-åç³»ç»"},[(0,e.Lk)("span",null,"Subsystem|åç³»ç»")])],-1),x=(0,e.Fv)('<div class="language-cpp line-numbers-mode" data-ext="cpp" data-title="cpp"><pre class="language-cpp"><code><span class="token keyword">bool</span> <span class="token class-name">UGameUIManagerSubsystem</span><span class="token double-colon punctuation">::</span><span class="token function">ShouldCreateSubsystem</span><span class="token punctuation">(</span>UObject<span class="token operator">*</span> Outer<span class="token punctuation">)</span> <span class="token keyword">const</span>\n<span class="token punctuation">{</span>\n\t<span class="token keyword">if</span> <span class="token punctuation">(</span><span class="token operator">!</span><span class="token generic-function"><span class="token function">CastChecked</span><span class="token generic class-name"><span class="token operator"><</span>UGameInstance<span class="token operator">></span></span></span><span class="token punctuation">(</span>Outer<span class="token punctuation">)</span><span class="token operator">-></span><span class="token function">IsDedicatedServerInstance</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span>\n\t<span class="token punctuation">{</span>\n\t\tTArray<span class="token operator"><</span>UClass<span class="token operator">*</span><span class="token operator">></span> ChildClasses<span class="token punctuation">;</span>\n\t\t<span class="token function">GetDerivedClasses</span><span class="token punctuation">(</span><span class="token function">GetClass</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">,</span> ChildClasses<span class="token punctuation">,</span> <span class="token boolean">false</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\n\t\t<span class="token comment">// Only create an instance if there is no override implementation defined elsewhere</span>\n\t\t<span class="token keyword">return</span> ChildClasses<span class="token punctuation">.</span><span class="token function">Num</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token operator">==</span> <span class="token number">0</span><span class="token punctuation">;</span>\n\t<span class="token punctuation">}</span>\n\n\t<span class="token keyword">return</span> <span class="token boolean">
1false</span><span class="token punctuation">;</span>\n<span class="token punctuation">}</span>\n</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="é®é¢" tabindex="-1"><a class="header-anchor" href="#é®é¢"><span>é®é¢</span></a></h3>',2),O=(0,e.Lk)("h3",{id:"æ©å±",tabindex:"-1"},[(0,e.Lk)("a",{class:"header-anchor",href:"#æ©å±"},[(0,e.Lk)("span",null,"æ©å±")])],-1),A={href:"https://forums.unrealengine.com/t/singleton-pattern-in-c/430452",target:"_blank",rel:"noopener noreferrer"},T={href:"https://www.bilibili.com/video/BV1bR4y177Hp/?spm_id_from=333.999.0.0",target:"_blank",rel:"noopener noreferrer"},D={},q=(0,a(66262).A)(D,[["render",function(n,s){const a=(0,e.g2)("chatmessage"),t=(0,e.g2)("RouteLink"),o=(0,e.g2)("CodeTabs"),l=(0,e.g2)("gifwithbutton"),c=(0,e.g2)("ExternalLinkIcon");return(0,e.uX)(),(0,e.CE)("div",null,[(0,e.bF)(a,{avatar:"../../assets/emoji/hh.png",avatarWidth:40},{default:(0,e.k6)((()=>[(0,e.eW)(" ä»ä¹æ¯åä¾? ")])),_:1}),(0,e.bF)(a,{avatar:"../../assets/emoji/bqb (1).png",avatarWidth:40,alignLeft:""},{default:(0,e.k6)((()=>[(0,e.eW)(" ä¸åçæ¡æ¶å®ç°æ¹æ³ä¸åï¼å¨C++ä¸åä¾ä¸è¬æ¯æç¡®ä¿ä¸ä¸ªç±»åªæä¸ä¸ªå®ä¾ï¼å¹¶ä¸ºå
¶æä¾ä¸ä¸ªå
¨å±è®¿é®å
¥å£ã ")])),_:1}),(0,e.bF)(a,{avatar:"../../assets/emoji/blzt.png",avatarWidth:40,alignLeft:""},{default:(0,e.k6)((()=>[(0,e.eW)(" ä½ å
åçæï¼å®ä¹ä¸ä¸ªç±»åä½ æ¯éè¿ä»ä¹åæ³æ¥æ°å»ºå®ä¾çï¼ ")])),_:1}),(0,e.bF)(a,{avatar:"../../assets/emoji/hx.png",avatarWidth:40},{default:(0,e.k6)((()=>[(0,e.eW)(" ç¨newå
³é®åï¼å ä¸å¼è¾ä¸å空é´ç»è¯¥å¯¹è±¡å®ä¾ã ")])),_:1}),u,(0,e.bF)(a,{avatar:"../../assets/emoji/bqb (5).png",avatarWidth:40},{default:(0,e.k6)((()=>[(0,e.eW)(" 坿¯ï¼è¯¥æä¹éå¶ç¨æ·çnewæä½å¢ï¼ææ»ä¸è½åç¨æ·è¯´ä½ ä¸è½newä¸ä¸ªæ°å®ä¾å§ï¼ ")])),_:1}),(0,e.bF)(a,{avatar:"../../assets/emoji/blzt.png",avatarWidth:40,alignLeft:""},{default:(0,e.k6)((()=>[(0,e.eW)(" ä½ å¯ä»¥å
康康ä¸ä¸ªæ®éç±»åå§ååé»è®¤ä¼æåªäºæä½ï¼ ")])),_:1}),(0,e.bF)(a,{avatar:"../../assets/emoji/ybk.png",avatarWidth:40},{default:(0,e.k6)((()=>[(0,e.eW)(" è¿è¿ä¸ç®åï¼ç±»çå个åå§åæä½ã ")])),_:1}),r,(0,e.bF)(a,{avatar:"../../assets/emoji/new2.png",avatarWidth:50,alignLeft:""},{default:(0,e.k6)((()=>[(0,e.eW)(" æä»¬é½ç¥éæé 彿°é»è®¤åå¨publicä¸ï¼å¦ææå¼ºå¶å°ä»ç§»å¨å°privateä¼åçä»ä¹ï¼ ")])),_:1}),d,(0,e.bF)(a,{avatar:"../../assets/emoji/hx.png",avatarWidth:40},{default:(0,e.k6)((()=>[(0,e.eW)(" è¿è½åçä»ä¹ï¼ç¼è¯å¨æ¥éåã ")])),_:1}),v,(0,e.bF)(a,{avatar:"../../assets/emoji/bqb (2).png",avatarWidth:40,alignLeft:""},{default:(0,e.k6)((()=>[(0,e.eW)(" 使¢ä¸ªè§åº¦æèï¼æä»¬å·²ç»æåéå¶äºç¨æ·çnewè¡ä¸ºï¼é®é¢ä¹åæäºæä¹çæç¬¬ä¸ä¸ªå®ä¾ï¼ ç°å¨ä½ æèä¸ä¸ä»ä¹æ
åµä¸ä¸éè¦æ°å»ºå®ä¾å°±è½è®¿é®æä¸ªå¯¹è±¡æåï¼ ")])),_:1}),(0,e.bF)(a,{avatar:"../../assets/emoji/new3.png",avatarWidth:55},{default:(0,e.k6)((()=>[(0,e.eW)(" æè®°å¾staticå
³é®å修饰çæå彿°ï¼ä¸éè¦å®ä¾å对象ã ")])),_:1}),(0,e.bF)(a,{avatar:"../../assets/emoji/new2.png",avatarWidth:55,alignLeft:""},{default:(0,e.k6)((()=>[(0,e.eW)(" æ¯çï¼ç°å¨newè¿æ¡è·¯å·²ç»ä¸è½èµ°äºï¼å±å¯ä»¥ç¨staticå°ä»çæå°éæåºã ")])),_:1}),m,(0,e.bF)(a,{avatar:"../../assets/emoji/new3.png",avatarWidth:55},{default:(0,e.k6)((()=>[(0,e.eW)(" å¦åï¼ä¹å°±æ¯è¯´å©ç¨static彿°å仿²éï¼è®©ä»èªå·±åé èªå·±ï¼ ")])),_:1}),(0,e.bF)(a,{avatar:"../../assets/emoji/bqb (2).png",avatarWidth:40,alignLeft:""},{default:(0,e.k6)((()=>[(0,e.eW)(" åºåå¯æï¼æ¹ææéä¼ é乿¯å¯ä»¥ç ")])),_:1}),L,(0,e.bF)(a,{avatar:"../../assets/emoji/blzt.png",avatarWidth:40,alignLeft:""},{default:(0,e.k6)((()=>[(0,e.Lk)("p",null,[(0,e.bF)(t,{to:"/language/cpp/designer_%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F_/1-Sington.html"},{default:(0,e.k6)((()=>[(0,e.eW)("Language/c++Designer/Singleton|åä¾")])),_:1})])])),_:1}),(0,e.bF)(a,{avatar:"../../assets/emoji/hh.png",avatarWidth:40},{default:(0,e.k6)((()=>[(0,e.eW)(" é£ä¹ï¼UE䏿¯æåçC++åä¾å®ç°åï¼ ")])),_:1}),(0,e.bF)(a,{avatar:"../../assets/emoji/blzt.png",avatarWidth:40,alignLeft:""},{default:(0,e.k6)((()=>[(0,e.eW)(" æ¯æï¼ä½å®æ¹ä¸æ¨è使ç¨ï¼å®æ¹æ¨èæä»¬ä½¿ç¨subsystem ")])),_:1}),b,g,W,(0,e.bF)(o,{id:"104",data:[{id:"GameSingleton.h"},{id:"GameSingleton.cpp"}],"tab-id":"language"},{title0:(0,e.k6)((({value:n,isActive:s})=>[(0,e.eW)("GameSingleton.h")])),title1:(0,e.k6)((({value:n,isActive:s})=>[(0,e.eW)("GameSingleton.cpp")])),tab0:(0,e.k6)((({value:n,isActive:s})=>[y])),tab1:(0,e.k6)((({value:n,isActive:s})=>[f])),_:1},8,["data"]),(0,e.bF)(a,{avatar:"../../assets/emoji/blzt.png",avatarWidth:40,alignLeft:""},{default:(0,e.k6)((()=>[(0,e.eW)(" èå¾ä¸éè¿å®ä¾æéä¿®æ¹æååéï¼ç¶å跳转å
³å¡æè
éæ°æå¼æå°ä¸ä¸åº·åº·ä¸å°±ç¥éäºï¼` ")])),_:1}),h,(0,e.bF)(l,{src:"../../assets/unrealgif/ramdonsington.gif"}),(0,e.bF)(a,{avatar:"../../assets/emoji/hh.png",avatarWidth:40},{default:(0,e.k6)((()=>[(0,e.eW)(" æåç°ä»éåæå¼å
³å¡åä»è®¾ç½®çå¼ä¾ç¶æ¯ä¸ä¸æ¬¡ï¼åªæå¨å¼æå½»åºéå¯åæ°å¼ææ¢å¤æ30ã ")])),_:1}),(0,e.bF)(l,{src:"../../assets/unrealgif/sington.gif"}),(0,e.bF)(a,{avatar:"../../assets/emoji/blzt.png",avatarWidth:40,alignLeft:""},{default:(0,e.k6)((()=>[(0,e.eW)(" 没éï¼ä»ççå½å¨æå弿æ¯ä¸æ ·çï¼æå³çå¨ç¼è¾å¨æ¨¡å¼ä¸çGEngine没æéæ¯è¿ä¸ªåéå°±ä¸ç´å
1å¨ãå æ¤ä½ å¯ä»¥çå°å¦å¤ä¸ç§åæ³ï¼ ")])),_:1}),w,(0,e.bF)(o,{id:"125",data:[{id:"GameSingleton.h"},{id:"GameSingleton.cpp"}],"tab-id":"language"},{title0:(0,e.k6)((({value:n,isActive:s})=>[(0,e.eW)("GameSingleton.h")])),title1:(0,e.k6)((({value:n,isActive:s})=>[(0,e.eW)("GameSingleton.cpp")])),tab0:(0,e.k6)((({value:n,isActive:s})=>[S])),tab1:(0,e.k6)((({value:n,isActive:s})=>[C])),_:1},8,["data"]),(0,e.bF)(a,{avatar:"../../assets/emoji/blzt.png",avatarWidth:40,alignLeft:""},{default:(0,e.k6)((()=>[(0,e.eW)(" 两è
çå½å¨æé½çåäºGEngineï¼æä»¥ç¼è¾å¨ä¸åæ¢æ¸¸æå¹¶ä¸ä¼éæ¾å
åã ")])),_:1}),(0,e.bF)(a,{avatar:"../../assets/emoji/blzt.png",avatarWidth:40,alignLeft:""},{default:(0,e.k6)((()=>[(0,e.eW)(" åé¢è¿ç§åæ³éè¦å¨è®¾ç½®ä¸`项ç®è®¾ç½®`æå®ä¸ä¸åä¾ç±»ã ")])),_:1}),F,(0,e.bF)(a,{avatar:"../../assets/emoji/hh.png",avatarWidth:40},{default:(0,e.k6)((()=>[(0,e.eW)(" 妿ä¸è®¾ç½®å¢ï¼ ")])),_:1}),(0,e.bF)(a,{avatar:"../../assets/emoji/blzt.png",avatarWidth:40,alignLeft:""},{default:(0,e.k6)((()=>[(0,e.eW)(" 没æè®¾ç½®å¼æä¼å´©æºï¼å 为ä»ä¾èµGEngineçGameSingletonæéã ")])),_:1}),j,(0,e.bF)(a,{avatar:"../../assets/emoji/blzt.png",avatarWidth:40,alignLeft:""},{default:(0,e.k6)((()=>[(0,e.eW)(" å½ç¶ï¼è¿å¯ä»¥å©ç¨CDOæ¥å建ã ")])),_:1}),G,(0,e.bF)(o,{id:"151",data:[{id:"MySingleton.h"},{id:"MySingleton.cpp"}],"tab-id":"language"},{title0:(0,e.k6)((({value:n,isActive:s})=>[(0,e.eW)("MySingleton.h")])),title1:(0,e.k6)((({value:n,isActive:s})=>[(0,e.eW)("MySingleton.cpp")])),tab0:(0,e.k6)((({value:n,isActive:s})=>[U])),tab1:(0,e.k6)((({value:n,isActive:s})=>[_])),_:1},8,["data"]),M,(0,e.bF)(a,{avatar:"../../assets/emoji/hh.png",avatarWidth:40},{default:(0,e.k6)((()=>[(0,e.eW)(" 好å忏¸æå®ä¾å·®ä¸å¤è¶ï¼ ")])),_:1}),(0,e.bF)(a,{avatar:"../../assets/emoji/blzt.png",avatarWidth:40,alignLeft:""},{default:(0,e.k6)((()=>
1[(0,e.eW)(" ç¡®å®ï¼ä»ç表ç°ç¡®å®å¾åæä»¬ç游æå®ä¾ï¼ä½æ¸¸æå®ä¾ççå½å¨æå´æ²¡æEngineSingletoné¿ã å
³å¡ç»æè¿è¡å°±ä¼æ§è¡ææã ")])),_:1}),(0,e.bF)(l,{src:"../../assets/unrealgif/gameinstancegif.gif"}),(0,e.bF)(a,{avatar:"../../assets/emoji/dsyj.png",avatarWidth:40,alignLeft:""},{default:(0,e.k6)((()=>[(0,e.eW)(" 使ç¨äºopen+leveléæ°æå¼äºè¿ä¸ªå
³å¡ã ")])),_:1}),I,E,(0,e.bF)(a,{avatar:"../../assets/emoji/dsyj.png",avatarWidth:40,alignLeft:""},{default:(0,e.k6)((()=>[(0,e.eW)(" ä¸¥æ ¼æä¹ä¸æ¥è¯´åç³»ç»å¹¶ä¸æ¯åä¾ï¼ä½ä»çæå彿°æ¥å£ä¿è¯äºåªå®ä¾åä¸ä¸ªåç±»ï¼å
¶ä¸ä½¿ç¨äºä¸äºé«çº§C++ç¹æ§åæå·§ï¼æ¯å¦ å¼ç¨è®¡æ°ã夿ãéåçãåç»çåç³»ç»ç¯ä¼æè¯¦ç»ä»ç»ã ")])),_:1}),x,(0,e.bF)(a,{avatar:"../../assets/emoji/hh.png",avatarWidth:40},{default:(0,e.k6)((()=>[(0,e.eW)(" èå¾å½æ°åºæ¯åä¾åï¼ ")])),_:1}),(0,e.bF)(a,{avatar:"../../assets/emoji/bqb (3).png",avatarWidth:40,alignLeft:""},{default:(0,e.k6)((()=>[(0,e.eW)(" èå¾å½æ°åºï¼Blueprint Function Libraryï¼ä¸æ¯åä¾ï¼èå¾å½æ°åºæ¬è´¨æ¯éæå½æ°åºï¼è¿äºå½æ°å¯ä¾èå¾ï¼Blueprintï¼å¾è¡¨ä¸çèå¾è°ç¨ã ")])),_:1}),O,(0,e.Lk)("p",null,[(0,e.Lk)("a",A,[(0,e.eW)("UE宿¹è®ºå"),(0,e.bF)(c)])]),(0,e.Lk)("p",null,[(0,e.Lk)("a",T,[(0,e.eW)("Cherno C++"),(0,e.bF)(c)])])])}]]),z=JSON.parse('{"path":"/unreal/core_%E6%A0%B8%E5%BF%83_/3-Singleton.html","title":"c3.Singleton|åä¾","lang":"zh-CN","frontmatter":{"title":"c3.Singleton|åä¾","order":300,"category":["u++"],"description":"é»è®¤æé 彿° (Default Constructor): å¦ææ²¡æä¸ºç±»å®ä¹ä»»ä½æé 彿°ï¼ç¼è¯å¨å°çæä¸ä¸ªæ åçé»è®¤æé 彿°ã ææå½æ° (Destructor): å¦ææ²¡ææ¾å¼å®ä¹ææå½æ°ï¼ç¼è¯å¨å°çæä¸ä¸ªé»è®¤çææå½æ°ãç¨äºå¨å¯¹è±¡çå½å¨æç»ææ¶è¿è¡æ¸
çå·¥ä½,å¦ ~MyClass()ã æ·è´æé 彿° (Copy Constructor): å¦ææ²¡æå®...","head":[["meta",{"property":"og:url","content":"https://rendertool.github.io/RenderDoc/unreal/core_%E6%A0%B8%E5%BF%83_/3-Singleton.html"}],["meta",{"property":"og:site_name","content":"RenderDoc"}],["meta",{"property":"og:title","content":"c3.Singleton|åä¾"}],["meta",{"property":"og:description","content":"é»è®¤æé 彿° (Default Constructor): å¦ææ²¡æä¸ºç±»å®ä¹ä»»ä½æé 彿°ï¼ç¼è¯å¨å°çæä¸ä¸ªæ åçé»è®¤æé 彿°ã ææå½æ° (Destructor): å¦ææ²¡ææ¾å¼å®ä¹ææå½æ°ï¼ç¼è¯å¨å°çæä¸ä¸ªé»è®¤çææå½æ°ãç¨äºå¨å¯¹è±¡çå½å¨æç»ææ¶è¿è¡æ¸
çå·¥ä½,å¦ ~MyClass()ã æ·è´æé 彿° (Copy Constructor): å¦ææ²¡æå®..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2024-02-17T00:40:22.000Z"}],["meta",{"property":"article:author","content":"Mr.Si"}],["meta",{"property":"article:modified_time","content":"2024-02-17T00:40:22.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"c3.Singleton|åä¾\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-02-17T00:40:22.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Mr.Si\\",\\"url\\":\\"https://rendertool.github.io/RenderDoc/\\"}]}"]]},"headers":[{"level":3,"title":"ç»å
¸æ¨¡å¼","slug":"ç»å
¸æ¨¡å¼","link":"#ç»å
¸æ¨¡å¼","children":[]},{"level":3,"title":"EngineSingleton","slug":"enginesingleton","link":"#enginesingleton","children":[]},{"level":3,"title":"CDOSingleton","slug":"cdosingleton","link":"#cdosingleton","children":[]},{"level":3,"title":"GameInstance","slug":"gameinstance","link":"#gameinstance","children":[]},{"level":3,"title":"Subsystem|åç³»ç»","slug":"subsystem-åç³»ç»","link":"#subsystem-åç³»ç»","children":[]},{"level":3,"title":"é®é¢","slug":"é®é¢","link":"#é®é¢","children":[]},{"level":3,"title":"æ©å±","slug":"æ©å±","link":"#æ©å±","children":[]}],"git":{"createdTime":1704306851000,"updatedTime":1708130422000,"contributors":[{"name":"sigaohe","email":"[email protected]","commits":2}]},"readingTime":{"minutes":6.75,"words":2024},"filePathRelative":"unreal/core[æ ¸å¿]/3-Singleton.md","localizedDate":"2024å¹´1æ3æ¥","excerpt":"\\n\\n\\
1n\\n<div class=\\"language-cpp\\" data-ext=\\"cpp\\" data-title=\\"cpp\\"><pre class=\\"language-cpp\\"><code><span class=\\"token macro property\\"><span class=\\"token directive-hash\\">#</span><span class=\\"token directive keyword\\">include</span> <span class=\\"token string\\"><iostream></span></span>\\n<span class=\\"token keyword\\">class</span> <span class=\\"token class-name\\">MyClass</span> <span class=\\"token punctuation\\">{</span> \\n<span class=\\"token punctuation\\">}</span>\\n<span class=\\"token keyword\\">int</span> <span class=\\"token function\\">main</span><span class=\\"token punctuation\\">(</span><span class=\\"token punctuation\\">)</span> <span class=\\"token punctuation\\">{</span>\\n MyClass<span class=\\"token operator\\">*</span> a <span class=\\"token operator\\">=</span> <span class=\\"token keyword\\">new</span> <span class=\\"token function\\">MyClass</span><span class=\\"token punctuation\\">(</span><span class=\\"token punctuation\\">)</span><span class=\\"token punctuation\\">;</span>\\n <span class=\\"token comment\\">//Do Someting</span>\\n <span class=\\"token keyword\\">delete</span> a<span class=\\"token punctuation\\">;</span>\\n<span class=\\"token punctuation\\">}</span>\\n</code></pre></div>","autoDesc":true}')}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.