<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>It&#039;s Soryu</title>
		<link>http://soryu.net/</link>
		<description>Soryu의 블로그입니다 :)</description>
		<language>ko</language>
		<pubDate>Tue, 16 Feb 2010 15:10:54 +0900</pubDate>
		<generator>Textcube 1.7.8 : Con moto</generator>
		<image>
		<title>It&#039;s Soryu</title>
		<url>http://soryu.net/attach/1/1120686974.jpg</url>
		<link>http://soryu.net/</link>
		<width>170</width>
		<height>54</height>
		<description>Soryu의 블로그입니다 :)</description>
		</image>
		<item>
			<title>가자 우주로~ -0-/</title>
			<link>http://soryu.net/84</link>
			<description>&lt;div&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;img src=&quot;http://soryu.net/attach/1/1175411585.jpg&quot; alt=&quot;사용자 삽입 이미지&quot; height=&quot;315&quot; width=&quot;494&quot; /&gt;&lt;/div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;img src=&quot;http://soryu.net/attach/1/1255252201.jpg&quot; alt=&quot;사용자 삽입 이미지&quot; height=&quot;308&quot; width=&quot;494&quot; /&gt;&lt;/div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;설 휴일동안 하릴없이 트라이얼로 시작했다가... 결제까지 해버렸다 -_-;;;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;한동안은 외롭지 않을라나 ㅋ&lt;/div&gt;&lt;fieldset style=&quot;margin:20px 0px 20px 0px;padding:5px;&quot;&gt;&lt;legend&gt;&lt;span&gt;&lt;strong&gt;크리에이티브 커먼즈 라이센스&lt;/strong&gt;&lt;/span&gt;&lt;/legend&gt;&lt;!--Creative Commons License--&gt;&lt;div style=&quot;float: left; width: 88px; margin-top: 3px;&quot;&gt;&lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; target=_blank&gt;&lt;img alt=&quot;Creative Commons License&quot; style=&quot;border-width: 0&quot; src=&quot;http://i.creativecommons.org/l/by-nc-sa/2.0/kr/88x31.png&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;margin-left: 92px; margin-top: 3px; text-align: justify;&quot;&gt;이 저작물은 &lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; target=_blank&gt;크리에이티브 커먼즈 코리아 저작자표시-비영리-동일조건변경허락 2.0 대한민국 라이센스&lt;/a&gt;에 따라 이용하실 수 있습니다.
			&lt;!-- Creative Commons License--&gt;
			&lt;!-- &lt;rdf:RDF xmlns=&quot;http://web.resource.org/cc/&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;&gt;
			&lt;Work rdf:about=&quot;&quot;&gt;
			&lt;license rdf:resource=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; /&gt;
			&lt;/Work&gt;
			&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-sa/&quot;&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Reproduction&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Distribution&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Notice&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Attribution&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/DerivativeWorks&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/ShareAlike&quot;/&gt;&lt;prohibits rdf:resource=&quot;http://web.resource.org/cc/CommercialUse&quot;/&gt;&lt;/License&gt;&lt;/rdf:RDF&gt; --&gt;&lt;/div&gt;&lt;/fieldset&gt;</description>
			<category>My Dairy</category>
			<author>(소류)</author>
			<guid>http://soryu.net/84</guid>
			<comments>http://soryu.net/84#entry84comment</comments>
			<pubDate>Tue, 16 Feb 2010 13:44:26 +0900</pubDate>
		</item>
		<item>
			<title>Visual Studio .Net 프로젝트의 파일 확장자</title>
			<link>http://soryu.net/83</link>
			<description>&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: rgb(51, 51, 51); font-family: 돋움; font-size: 12px; border-collapse: collapse; &quot;&gt;&lt;p style=&quot;margin-top: 2px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.4; &quot;&gt;Visual C++ 프로젝트를 만들 때 새 솔루션을 만들거나 솔루션에 프로젝트를 추가할 수 있습니다. 하나의 솔루션에 포함된 여러 프로젝트를 사용하여 중요한 응용 프로그램을 개발하는 경우가 많습니다.&lt;br&gt;&lt;/p&gt;&lt;p style=&quot;margin-top: 2px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.4; &quot;&gt;프로젝트는 보통 EXE 또는 DLL 중 하나를 생성합니다. 프로젝트는 서로 종속성을 가질 수 있습니다. Visual C++ 환경에서는 프로젝트 내부의 종속성 및 프로젝트 간의 종속성을 모두 확인합니다. 각 프로젝트에는 핵심 소스 코드가 있으며 프로젝트 종류에 따라 프로젝트의 여러 측면을 포함하는 여러 종류의 파일이 있습니다. 어떤 내용이 포함된 파일인지는 파일의 확장명을 통해 식별할 수 있습니다. Visual Studio 개발 환경에서는 파일 확장명을 기반으로, 빌드하는 동안 해당 파일 내용을 어떻게 처리할 것인지를 결정합니다.&lt;/p&gt;&lt;p style=&quot;margin-top: 2px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.4; &quot;&gt;다음 표는 Visual C++ 프로젝트에서 일반적으로 사용되는 파일 형식과 파일 확장명입니다. &lt;i&gt;Projname&lt;/i&gt;은 프로젝트 이름을 나타냅니다.&lt;/p&gt;&lt;p style=&quot;margin-top: 2px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.4; &quot;&gt;&lt;br&gt;&lt;/p&gt;&lt;p style=&quot;margin-top: 2px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.4; &quot;&gt;&lt;br&gt;&lt;/p&gt;&lt;div class=&quot;tablediv&quot; style=&quot;line-height: 1.4; &quot;&gt;&lt;table class=&quot;dtTABLE&quot; cellspacing=&quot;0&quot; style=&quot;text-align: left; &quot;&gt;&lt;tbody&gt;&lt;tr valign=&quot;top&quot;&gt;&lt;th width=&quot;26%&quot; style=&quot;font-family: 돋움; font-size: 12px; &quot;&gt;파일 확장명&lt;/th&gt;&lt;th width=&quot;16%&quot; style=&quot;font-family: 돋움; font-size: 12px; &quot;&gt;형식&lt;/th&gt;&lt;th width=&quot;58%&quot; style=&quot;font-family: 돋움; font-size: 12px; &quot;&gt;내용&lt;/th&gt;&lt;/tr&gt;&lt;tr valign=&quot;top&quot;&gt;&lt;td width=&quot;26%&quot; style=&quot;font-family: 돋움; font-size: 12px; &quot;&gt;.asmx&lt;/td&gt;&lt;td width=&quot;16%&quot; style=&quot;font-family: 돋움; font-size: 12px; &quot;&gt;소스&lt;/td&gt;&lt;td width=&quot;58%&quot; style=&quot;font-family: 돋움; font-size: 12px; &quot;&gt;배포 파일&lt;/td&gt;&lt;/tr&gt;&lt;tr valign=&quot;top&quot;&gt;&lt;td width=&quot;26%&quot; style=&quot;font-family: 돋움; font-size: 12px; &quot;&gt;.asp&lt;/td&gt;&lt;td width=&quot;16%&quot; style=&quot;font-family: 돋움; font-size: 12px; &quot;&gt;소스&lt;/td&gt;&lt;td width=&quot;58%&quot; style=&quot;font-family: 돋움; font-size: 12px; &quot;&gt;Active Server Page 파일&lt;/td&gt;&lt;/tr&gt;&lt;tr valign=&quot;top&quot;&gt;&lt;td width=&quot;26%&quot; style=&quot;font-family: 돋움; font-size: 12px; &quot;&gt;.atp&lt;/td&gt;&lt;td width=&quot;16%&quot; style=&quot;font-family: 돋움; font-size: 12px; &quot;&gt;프로젝트&lt;/td&gt;&lt;td width=&quot;58%&quot; style=&quot;font-family: 돋움; font-size: 12px; &quot;&gt;응용 프로그램 템플릿 프로젝트 파일&lt;/td&gt;&lt;/tr&gt;&lt;tr valign=&quot;top&quot;&gt;&lt;td width=&quot;26%&quot; style=&quot;font-family: 돋움; font-size: 12px; &quot;&gt;.bmp, .dib, .gif, .jpg, .jpe, .png&lt;/td&gt;&lt;td width=&quot;16%&quot; style=&quot;font-family: 돋움; font-size: 12px; &quot;&gt;리소스&lt;/td&gt;&lt;td width=&quot;58%&quot; style=&quot;font-family: 돋움; font-size: 12px; &quot;&gt;일반 이미지 파일&lt;/td&gt;&lt;/tr&gt;&lt;tr valign=&quot;top&quot;&gt;&lt;td width=&quot;26%&quot; style=&quot;font-family: 돋움; font-size: 12px; &quot;&gt;.bsc&lt;/td&gt;&lt;td width=&quot;16%&quot; style=&quot;font-family: 돋움; font-size: 12px; &quot;&gt;컴파일&lt;/td&gt;&lt;td width=&quot;58%&quot; style=&quot;font-family: 돋움; font-size: 12px; &quot;&gt;브라우저 코드 파일&lt;/td&gt;&lt;/tr&gt;&lt;tr valign=&quot;top&quot;&gt;&lt;td width=&quot;26%&quot; style=&quot;font-family: 돋움; font-size: 12px; &quot;&gt;.cpp; .c&lt;/td&gt;&lt;td width=&quot;16%&quot; style=&quot;font-family: 돋움; font-size: 12px; &quot;&gt;소스&lt;/td&gt;&lt;td width=&quot;58%&quot; style=&quot;font-family: 돋움; font-size: 12px; &quot;&gt;응용 프로그램의 주 소스 코드 파일&lt;/td&gt;&lt;/tr&gt;&lt;tr valign=&quot;top&quot;&gt;&lt;td width=&quot;26%&quot; style=&quot;font-family: 돋움; font-size: 12px; &quot;&gt;.cur&lt;/td&gt;&lt;td width=&quot;16%&quot; style=&quot;font-family: 돋움; font-size: 12px; &quot;&gt;리소스&lt;/td&gt;&lt;td width=&quot;58%&quot; style=&quot;font-family: 돋움; font-size: 12px; &quot;&gt;커서 비트맵 그래픽 파일&lt;/td&gt;&lt;/tr&gt;&lt;tr valign=&quot;top&quot;&gt;&lt;td width=&quot;26%&quot; style=&quot;font-family: 돋움; font-size: 12px; &quot;&gt;*.dbp&lt;/td&gt;&lt;td width=&quot;16%&quot; style=&quot;font-family: 돋움; font-size: 12px; &quot;&gt;프로젝트&lt;/td&gt;&lt;td width=&quot;58%&quot; style=&quot;font-family: 돋움; font-size: 12px; &quot;&gt;데이터베이스 프로젝트 파일&lt;/td&gt;&lt;/tr&gt;&lt;tr valign=&quot;top&quot;&gt;&lt;td width=&quot;26%&quot; style=&quot;font-family: 돋움; font-size: 12px; &quot;&gt;.disco&lt;/td&gt;&lt;td width=&quot;16%&quot; style=&quot;font-family: 돋움; font-size: 12px; &quot;&gt;소스&lt;/td&gt;&lt;td width=&quot;58%&quot; style=&quot;font-family: 돋움; font-size: 12px; &quot;&gt;동적 검색 문서 파일. &lt;mshelp:link tabindex=&quot;0&quot; keywords=&quot;cpconWebServiceDiscovery&quot;&gt;XML Web services 검색&lt;/mshelp:link&gt;을 처리합니다.&lt;/td&gt;&lt;/tr&gt;&lt;tr valign=&quot;top&quot;&gt;&lt;td width=&quot;26%&quot; style=&quot;font-family: 돋움; font-size: 12px; &quot;&gt;.exe, .dll&lt;/td&gt;&lt;td width=&quot;16%&quot; style=&quot;font-family: 돋움; font-size: 12px; &quot;&gt;프로젝트&lt;/td&gt;&lt;td width=&quot;58%&quot; style=&quot;font-family: 돋움; font-size: 12px; &quot;&gt;실행 파일 또는 동적 연결 라이브러리 파일&lt;/td&gt;&lt;/tr&gt;&lt;tr valign=&quot;top&quot;&gt;&lt;td width=&quot;26%&quot; style=&quot;font-family: 돋움; font-size: 12px; &quot;&gt;.h&lt;/td&gt;&lt;td width=&quot;16%&quot; style=&quot;font-family: 돋움; font-size: 12px; &quot;&gt;소스&lt;/td&gt;&lt;td width=&quot;58%&quot; style=&quot;font-family: 돋움; font-size: 12px; &quot;&gt;헤더 또는 포함 파일&lt;/td&gt;&lt;/tr&gt;&lt;tr valign=&quot;top&quot;&gt;&lt;td width=&quot;26%&quot; style=&quot;font-family: 돋움; font-size: 12px; &quot;&gt;.htm, .html, .xsp, .asp, .htc, .hta, .xml&lt;/td&gt;&lt;td width=&quot;16%&quot; style=&quot;font-family: 돋움; font-size: 12px; &quot;&gt;리소스&lt;/td&gt;&lt;td width=&quot;58%&quot; style=&quot;font-family: 돋움; font-size: 12px; &quot;&gt;일반 웹 파일&lt;/td&gt;&lt;/tr&gt;&lt;tr valign=&quot;top&quot;&gt;&lt;td width=&quot;26%&quot; style=&quot;font-family: 돋움; font-size: 12px; &quot;&gt;.HxC&lt;/td&gt;&lt;td width=&quot;16%&quot; style=&quot;font-family: 돋움; font-size: 12px; &quot;&gt;프로젝트&lt;/td&gt;&lt;td width=&quot;58%&quot; style=&quot;font-family: 돋움; font-size: 12px; &quot;&gt;도움말 프로젝트 파일&lt;/td&gt;&lt;/tr&gt;&lt;tr valign=&quot;top&quot;&gt;&lt;td width=&quot;26%&quot; style=&quot;font-family: 돋움; font-size: 12px; &quot;&gt;.ico&lt;/td&gt;&lt;td width=&quot;16%&quot; style=&quot;font-family: 돋움; font-size: 12px; &quot;&gt;리소스&lt;/td&gt;&lt;td width=&quot;58%&quot; style=&quot;font-family: 돋움; font-size: 12px; &quot;&gt;아이콘 비트맵 그래픽 파일&lt;/td&gt;&lt;/tr&gt;&lt;tr valign=&quot;top&quot;&gt;&lt;td width=&quot;26%&quot; style=&quot;font-family: 돋움; font-size: 12px; &quot;&gt;.idb&lt;/td&gt;&lt;td width=&quot;16%&quot; style=&quot;font-family: 돋움; font-size: 12px; &quot;&gt;컴파일&lt;/td&gt;&lt;td width=&quot;58%&quot; style=&quot;font-family: 돋움; font-size: 12px; &quot;&gt;클래스 정의와 소스 파일 간의 종속성 정보가 들어 있는 상태 파일. 최소 다시 빌드 및 증분 컴파일을 하는 동안 컴파일러에서 사용할 수 있습니다. /Fd 컴파일러 옵션을 사용하여 .idb 파일 이름을 지정합니다. 자세한 내용은 /Gm(최소 다시 빌드 사용)을 참조하십시오.&lt;/td&gt;&lt;/tr&gt;&lt;tr valign=&quot;top&quot;&gt;&lt;td width=&quot;26%&quot; style=&quot;font-family: 돋움; font-size: 12px; &quot;&gt;.idl&lt;/td&gt;&lt;td width=&quot;16%&quot; style=&quot;font-family: 돋움; font-size: 12px; &quot;&gt;컴파일&lt;/td&gt;&lt;td width=&quot;58%&quot; style=&quot;font-family: 돋움; font-size: 12px; &quot;&gt;인터페이스 정의 언어 파일. 자세한 내용은 &lt;i&gt;Platform SDK&lt;/i&gt;의 &lt;mshelp:link tabindex=&quot;0&quot; keywords=&quot;_rpc_the_interface_definition_language_idl_file&quot;&gt;Interface Definition (IDL) File&lt;/mshelp:link&gt;을 참조하십시오.&lt;/td&gt;&lt;/tr&gt;&lt;tr valign=&quot;top&quot;&gt;&lt;td width=&quot;26%&quot; style=&quot;font-family: 돋움; font-size: 12px; &quot;&gt;.ilk&lt;/td&gt;&lt;td width=&quot;16%&quot; style=&quot;font-family: 돋움; font-size: 12px; &quot;&gt;링크&lt;/td&gt;&lt;td width=&quot;58%&quot; style=&quot;font-family: 돋움; font-size: 12px; &quot;&gt;증분 링크 파일. 자세한 내용은 /INCREMENTAL을 참조하십시오.&lt;/td&gt;&lt;/tr&gt;&lt;tr valign=&quot;top&quot;&gt;&lt;td width=&quot;26%&quot; style=&quot;font-family: 돋움; font-size: 12px; &quot;&gt;.map&lt;/td&gt;&lt;td width=&quot;16%&quot; style=&quot;font-family: 돋움; font-size: 12px; &quot;&gt;링크&lt;/td&gt;&lt;td width=&quot;58%&quot; style=&quot;font-family: 돋움; font-size: 12px; &quot;&gt;링커 정보를 포함하는 텍스트 파일. /Fm 컴파일러 옵션을 사용하여 맵 파일 이름을 지정합니다. 자세한 내용은 /MAP를 참조하십시오.&lt;/td&gt;&lt;/tr&gt;&lt;tr valign=&quot;top&quot;&gt;&lt;td width=&quot;26%&quot; style=&quot;font-family: 돋움; font-size: 12px; &quot;&gt;.ncb&lt;/td&gt;&lt;td width=&quot;16%&quot; style=&quot;font-family: 돋움; font-size: 12px; &quot;&gt;해결 방법&lt;/td&gt;&lt;td width=&quot;58%&quot; style=&quot;font-family: 돋움; font-size: 12px; &quot;&gt;컴파일하지 않는 브라우저 파일.&lt;/td&gt;&lt;/tr&gt;&lt;tr valign=&quot;top&quot;&gt;&lt;td width=&quot;26%&quot; style=&quot;font-family: 돋움; font-size: 12px; &quot;&gt;.obj, .o&lt;/td&gt;&lt;td width=&quot;16%&quot; style=&quot;font-family: 돋움; font-size: 12px; &quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td width=&quot;58%&quot; style=&quot;font-family: 돋움; font-size: 12px; &quot;&gt;컴파일되었지만 링크되지 않은 개체 파일&lt;/td&gt;&lt;/tr&gt;&lt;tr valign=&quot;top&quot;&gt;&lt;td width=&quot;26%&quot; style=&quot;font-family: 돋움; font-size: 12px; &quot;&gt;.pch&lt;/td&gt;&lt;td width=&quot;16%&quot; style=&quot;font-family: 돋움; font-size: 12px; &quot;&gt;디버그&lt;/td&gt;&lt;td width=&quot;58%&quot; style=&quot;font-family: 돋움; font-size: 12px; &quot;&gt;미리 컴파일된 헤더 파일&lt;/td&gt;&lt;/tr&gt;&lt;tr valign=&quot;top&quot;&gt;&lt;td width=&quot;26%&quot; style=&quot;font-family: 돋움; font-size: 12px; &quot;&gt;.pdb&lt;/td&gt;&lt;td width=&quot;16%&quot; style=&quot;font-family: 돋움; font-size: 12px; &quot;&gt;디버그&lt;/td&gt;&lt;td width=&quot;58%&quot; style=&quot;font-family: 돋움; font-size: 12px; &quot;&gt;프로그램 디버그 데이터베이스 파일. 자세한 내용은 &lt;mshelp:link tabindex=&quot;0&quot; keywords=&quot;_core_The_..PDB_Files&quot;&gt;PDB 파일&lt;/mshelp:link&gt;을 참조하십시오.&lt;/td&gt;&lt;/tr&gt;&lt;tr valign=&quot;top&quot;&gt;&lt;td width=&quot;26%&quot; style=&quot;font-family: 돋움; font-size: 12px; &quot;&gt;.rc, .rc2&lt;/td&gt;&lt;td width=&quot;16%&quot; style=&quot;font-family: 돋움; font-size: 12px; &quot;&gt;리소스&lt;/td&gt;&lt;td width=&quot;58%&quot; style=&quot;font-family: 돋움; font-size: 12px; &quot;&gt;리소스를 생성하는 &lt;mshelp:link tabindex=&quot;0&quot; keywords=&quot;vcconWorkingWithResources&quot;&gt;리소스 스크립트 파일&lt;/mshelp:link&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr valign=&quot;top&quot;&gt;&lt;td width=&quot;26%&quot; style=&quot;font-family: 돋움; font-size: 12px; &quot;&gt;.sbr&lt;/td&gt;&lt;td width=&quot;16%&quot; style=&quot;font-family: 돋움; font-size: 12px; &quot;&gt;컴파일&lt;/td&gt;&lt;td width=&quot;58%&quot; style=&quot;font-family: 돋움; font-size: 12px; &quot;&gt;소스 브라우저 중간 파일. BSCMAKE를 위한 입력 파일&lt;/td&gt;&lt;/tr&gt;&lt;tr valign=&quot;top&quot;&gt;&lt;td width=&quot;26%&quot; style=&quot;font-family: 돋움; font-size: 12px; &quot;&gt;.sln&lt;/td&gt;&lt;td width=&quot;16%&quot; style=&quot;font-family: 돋움; font-size: 12px; &quot;&gt;해결 방법&lt;/td&gt;&lt;td width=&quot;58%&quot; style=&quot;font-family: 돋움; font-size: 12px; &quot;&gt;&lt;mshelp:link tabindex=&quot;0&quot; keywords=&quot;vxconSolutions&quot;&gt;솔루션&lt;/mshelp:link&gt;&amp;nbsp;파일&lt;/td&gt;&lt;/tr&gt;&lt;tr valign=&quot;top&quot;&gt;&lt;td width=&quot;26%&quot; style=&quot;font-family: 돋움; font-size: 12px; &quot;&gt;.suo&lt;/td&gt;&lt;td width=&quot;16%&quot; style=&quot;font-family: 돋움; font-size: 12px; &quot;&gt;해결 방법&lt;/td&gt;&lt;td width=&quot;58%&quot; style=&quot;font-family: 돋움; font-size: 12px; &quot;&gt;솔루션 옵션 파일&lt;/td&gt;&lt;/tr&gt;&lt;tr valign=&quot;top&quot;&gt;&lt;td width=&quot;26%&quot; style=&quot;font-family: 돋움; font-size: 12px; &quot;&gt;.srf&lt;/td&gt;&lt;td width=&quot;16%&quot; style=&quot;font-family: 돋움; font-size: 12px; &quot;&gt;프로젝트&lt;/td&gt;&lt;td width=&quot;58%&quot; style=&quot;font-family: 돋움; font-size: 12px; &quot;&gt;서버 지시 파일. 이 파일에는 ATL 서버 응용 프로그램을 위한 HTML 코드가 들어 있습니다.&lt;/td&gt;&lt;/tr&gt;&lt;tr valign=&quot;top&quot;&gt;&lt;td width=&quot;26%&quot; style=&quot;font-family: 돋움; font-size: 12px; &quot;&gt;.txt&lt;/td&gt;&lt;td width=&quot;16%&quot; style=&quot;font-family: 돋움; font-size: 12px; &quot;&gt;리소스&lt;/td&gt;&lt;td width=&quot;58%&quot; style=&quot;font-family: 돋움; font-size: 12px; &quot;&gt;텍스트 파일. 보통 &quot;추가 정보&quot; 파일&lt;/td&gt;&lt;/tr&gt;&lt;tr valign=&quot;top&quot;&gt;&lt;td width=&quot;26%&quot; style=&quot;font-family: 돋움; font-size: 12px; &quot;&gt;.vap&lt;/td&gt;&lt;td width=&quot;16%&quot; style=&quot;font-family: 돋움; font-size: 12px; &quot;&gt;프로젝트&lt;/td&gt;&lt;td width=&quot;58%&quot; style=&quot;font-family: 돋움; font-size: 12px; &quot;&gt;&lt;mshelp:link tabindex=&quot;0&quot; keywords=&quot;veconWorkingWithVisualStudioAnalyzer&quot;&gt;Visual Studio Analyzer 프로젝트&lt;/mshelp:link&gt;&amp;nbsp;파일&lt;/td&gt;&lt;/tr&gt;&lt;tr valign=&quot;top&quot;&gt;&lt;td width=&quot;26%&quot; style=&quot;font-family: 돋움; font-size: 12px; &quot;&gt;.vbg&lt;/td&gt;&lt;td width=&quot;16%&quot; style=&quot;font-family: 돋움; font-size: 12px; &quot;&gt;해결 방법&lt;/td&gt;&lt;td width=&quot;58%&quot; style=&quot;font-family: 돋움; font-size: 12px; &quot;&gt;호환 가능한 프로젝트 그룹 파일&lt;/td&gt;&lt;/tr&gt;&lt;tr valign=&quot;top&quot;&gt;&lt;td width=&quot;26%&quot; style=&quot;font-family: 돋움; font-size: 12px; &quot;&gt;.vbp, .vip, .vbproj&lt;/td&gt;&lt;td width=&quot;16%&quot; style=&quot;font-family: 돋움; font-size: 12px; &quot;&gt;프로젝트&lt;/td&gt;&lt;td width=&quot;58%&quot; style=&quot;font-family: 돋움; font-size: 12px; &quot;&gt;Visual Basic 프로젝트 파일&lt;/td&gt;&lt;/tr&gt;&lt;tr valign=&quot;top&quot;&gt;&lt;td width=&quot;26%&quot; style=&quot;font-family: 돋움; font-size: 12px; &quot;&gt;*.vcproj&lt;/td&gt;&lt;td width=&quot;16%&quot; style=&quot;font-family: 돋움; font-size: 12px; &quot;&gt;프로젝트&lt;/td&gt;&lt;td width=&quot;58%&quot; style=&quot;font-family: 돋움; font-size: 12px; &quot;&gt;Visual C++ 프로젝트 파일. 자세한 내용은 프로젝트 파일 및 메이크파일을 참조하십시오.&lt;/td&gt;&lt;/tr&gt;&lt;tr valign=&quot;top&quot;&gt;&lt;td width=&quot;26%&quot; style=&quot;font-family: 돋움; font-size: 12px; &quot;&gt;.vdproj&lt;/td&gt;&lt;td width=&quot;16%&quot; style=&quot;font-family: 돋움; font-size: 12px; &quot;&gt;프로젝트&lt;/td&gt;&lt;td width=&quot;58%&quot; style=&quot;font-family: 돋움; font-size: 12px; &quot;&gt;Visual Studio deployment 프로젝트 파일&lt;/td&gt;&lt;/tr&gt;&lt;tr valign=&quot;top&quot;&gt;&lt;td width=&quot;26%&quot; style=&quot;font-family: 돋움; font-size: 12px; &quot;&gt;.vmx&lt;/td&gt;&lt;td width=&quot;16%&quot; style=&quot;font-family: 돋움; font-size: 12px; &quot;&gt;프로젝트&lt;/td&gt;&lt;td width=&quot;58%&quot; style=&quot;font-family: 돋움; font-size: 12px; &quot;&gt;매크로 프로젝트 파일&lt;/td&gt;&lt;/tr&gt;&lt;tr valign=&quot;top&quot;&gt;&lt;td width=&quot;26%&quot; style=&quot;font-family: 돋움; font-size: 12px; &quot;&gt;.vup&lt;/td&gt;&lt;td width=&quot;16%&quot; style=&quot;font-family: 돋움; font-size: 12px; &quot;&gt;프로젝트&lt;/td&gt;&lt;td width=&quot;58%&quot; style=&quot;font-family: 돋움; font-size: 12px; &quot;&gt;유틸리티 프로젝트 파일&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;/span&gt;&lt;fieldset style=&quot;margin:20px 0px 20px 0px;padding:5px;&quot;&gt;&lt;legend&gt;&lt;span&gt;&lt;strong&gt;크리에이티브 커먼즈 라이센스&lt;/strong&gt;&lt;/span&gt;&lt;/legend&gt;&lt;!--Creative Commons License--&gt;&lt;div style=&quot;float: left; width: 88px; margin-top: 3px;&quot;&gt;&lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; target=_blank&gt;&lt;img alt=&quot;Creative Commons License&quot; style=&quot;border-width: 0&quot; src=&quot;http://i.creativecommons.org/l/by-nc-sa/2.0/kr/88x31.png&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;margin-left: 92px; margin-top: 3px; text-align: justify;&quot;&gt;이 저작물은 &lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; target=_blank&gt;크리에이티브 커먼즈 코리아 저작자표시-비영리-동일조건변경허락 2.0 대한민국 라이센스&lt;/a&gt;에 따라 이용하실 수 있습니다.
			&lt;!-- Creative Commons License--&gt;
			&lt;!-- &lt;rdf:RDF xmlns=&quot;http://web.resource.org/cc/&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;&gt;
			&lt;Work rdf:about=&quot;&quot;&gt;
			&lt;license rdf:resource=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; /&gt;
			&lt;/Work&gt;
			&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-sa/&quot;&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Reproduction&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Distribution&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Notice&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Attribution&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/DerivativeWorks&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/ShareAlike&quot;/&gt;&lt;prohibits rdf:resource=&quot;http://web.resource.org/cc/CommercialUse&quot;/&gt;&lt;/License&gt;&lt;/rdf:RDF&gt; --&gt;&lt;/div&gt;&lt;/fieldset&gt;</description>
			<category>Programming</category>
			<category>VS.NET</category>
			<author>(소류)</author>
			<guid>http://soryu.net/83</guid>
			<comments>http://soryu.net/83#entry83comment</comments>
			<pubDate>Mon, 25 Jan 2010 16:57:08 +0900</pubDate>
		</item>
		<item>
			<title>으응...??</title>
			<link>http://soryu.net/82</link>
			<description>제법... 천잰데??&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;img src=&quot;http://soryu.net/attach/1/1109674476.jpg&quot; alt=&quot;사용자 삽입 이미지&quot; height=&quot;242&quot; width=&quot;494&quot; /&gt;&lt;/div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;div id=&#039;kaAmo_AdCode&#039; style=&#039;position:relative; padding:10px 0px 10px 0px; border:none #ffffff 1px!important; &#039;&gt;&lt;script type=&quot;text/javascript&quot;&gt;&lt;!--
google_ad_client = &quot;pub-0580449365617270&quot;;
/* 468x60, 작성됨 08. 3. 20 */
google_ad_slot = &quot;2306086071&quot;;
google_ad_width = 468;
google_ad_height = 60;
//--&gt;
&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot;
src=&quot;http://pagead2.googlesyndication.com/pagead/show_ads.js&quot;&gt;
&lt;/script&gt;&lt;/div&gt;&lt;style&gt;#kaAmo_AdCode {text-align:center}&lt;/style&gt;&lt;br&gt;&lt;/div&gt;&lt;fieldset style=&quot;margin:20px 0px 20px 0px;padding:5px;&quot;&gt;&lt;legend&gt;&lt;span&gt;&lt;strong&gt;크리에이티브 커먼즈 라이센스&lt;/strong&gt;&lt;/span&gt;&lt;/legend&gt;&lt;!--Creative Commons License--&gt;&lt;div style=&quot;float: left; width: 88px; margin-top: 3px;&quot;&gt;&lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; target=_blank&gt;&lt;img alt=&quot;Creative Commons License&quot; style=&quot;border-width: 0&quot; src=&quot;http://i.creativecommons.org/l/by-nc-sa/2.0/kr/88x31.png&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;margin-left: 92px; margin-top: 3px; text-align: justify;&quot;&gt;이 저작물은 &lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; target=_blank&gt;크리에이티브 커먼즈 코리아 저작자표시-비영리-동일조건변경허락 2.0 대한민국 라이센스&lt;/a&gt;에 따라 이용하실 수 있습니다.
			&lt;!-- Creative Commons License--&gt;
			&lt;!-- &lt;rdf:RDF xmlns=&quot;http://web.resource.org/cc/&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;&gt;
			&lt;Work rdf:about=&quot;&quot;&gt;
			&lt;license rdf:resource=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; /&gt;
			&lt;/Work&gt;
			&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-sa/&quot;&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Reproduction&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Distribution&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Notice&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Attribution&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/DerivativeWorks&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/ShareAlike&quot;/&gt;&lt;prohibits rdf:resource=&quot;http://web.resource.org/cc/CommercialUse&quot;/&gt;&lt;/License&gt;&lt;/rdf:RDF&gt; --&gt;&lt;/div&gt;&lt;/fieldset&gt;</description>
			<category>주워온것들</category>
			<author>(소류)</author>
			<guid>http://soryu.net/82</guid>
			<comments>http://soryu.net/82#entry82comment</comments>
			<pubDate>Sun, 18 Oct 2009 13:41:11 +0900</pubDate>
		</item>
		<item>
			<title>웃어가는 페이지~</title>
			<link>http://soryu.net/81</link>
			<description>&lt;div style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;- 제목 -&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-family: &#039;Lucida Grande&#039;, Arial, AppleGothic, 굴림, Gulim, Tahoma, Verdana, sans-serif; line-height: 15px; white-space: pre; &quot;&gt;&lt;span style=&quot;font-size: large;&quot;&gt;으으으으으으아아아아아아&lt;/span&gt;&lt;/span&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;img src=&quot;http://soryu.net/attach/1/1305296499.jpg&quot; alt=&quot;사용자 삽입 이미지&quot; height=&quot;579&quot; width=&quot;450&quot; /&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;div id=&#039;kaAmo_AdCode&#039; style=&#039;position:relative; padding:10px 0px 10px 0px; border:none #ffffff 1px!important; &#039;&gt;&lt;script type=&quot;text/javascript&quot;&gt;&lt;!--
google_ad_client = &quot;pub-0580449365617270&quot;;
/* 468x60, 작성됨 08. 3. 20 */
google_ad_slot = &quot;2306086071&quot;;
google_ad_width = 468;
google_ad_height = 60;
//--&gt;
&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot;
src=&quot;http://pagead2.googlesyndication.com/pagead/show_ads.js&quot;&gt;
&lt;/script&gt;&lt;/div&gt;&lt;style&gt;#kaAmo_AdCode {text-align:center}&lt;/style&gt;&lt;br&gt;&lt;/div&gt;&lt;fieldset style=&quot;margin:20px 0px 20px 0px;padding:5px;&quot;&gt;&lt;legend&gt;&lt;span&gt;&lt;strong&gt;크리에이티브 커먼즈 라이센스&lt;/strong&gt;&lt;/span&gt;&lt;/legend&gt;&lt;!--Creative Commons License--&gt;&lt;div style=&quot;float: left; width: 88px; margin-top: 3px;&quot;&gt;&lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; target=_blank&gt;&lt;img alt=&quot;Creative Commons License&quot; style=&quot;border-width: 0&quot; src=&quot;http://i.creativecommons.org/l/by-nc-sa/2.0/kr/88x31.png&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;margin-left: 92px; margin-top: 3px; text-align: justify;&quot;&gt;이 저작물은 &lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; target=_blank&gt;크리에이티브 커먼즈 코리아 저작자표시-비영리-동일조건변경허락 2.0 대한민국 라이센스&lt;/a&gt;에 따라 이용하실 수 있습니다.
			&lt;!-- Creative Commons License--&gt;
			&lt;!-- &lt;rdf:RDF xmlns=&quot;http://web.resource.org/cc/&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;&gt;
			&lt;Work rdf:about=&quot;&quot;&gt;
			&lt;license rdf:resource=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; /&gt;
			&lt;/Work&gt;
			&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-sa/&quot;&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Reproduction&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Distribution&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Notice&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Attribution&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/DerivativeWorks&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/ShareAlike&quot;/&gt;&lt;prohibits rdf:resource=&quot;http://web.resource.org/cc/CommercialUse&quot;/&gt;&lt;/License&gt;&lt;/rdf:RDF&gt; --&gt;&lt;/div&gt;&lt;/fieldset&gt;</description>
			<category>주워온것들</category>
			<author>(소류)</author>
			<guid>http://soryu.net/81</guid>
			<comments>http://soryu.net/81#entry81comment</comments>
			<pubDate>Fri, 09 Oct 2009 15:43:16 +0900</pubDate>
		</item>
		<item>
			<title>쿡아일랜드~!</title>
			<link>http://soryu.net/80</link>
			<description>&lt;a href=&quot;http://qook.co.kr/qook_islands/&quot;  target=&quot;_blank&quot;&gt;&lt;img height=&quot;1750&quot; src=&quot;http://www.kt.com/event/qookislands/img/qookislands.jpg&quot; width=&quot;570&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;fieldset style=&quot;margin:20px 0px 20px 0px;padding:5px;&quot;&gt;&lt;legend&gt;&lt;span&gt;&lt;strong&gt;크리에이티브 커먼즈 라이센스&lt;/strong&gt;&lt;/span&gt;&lt;/legend&gt;&lt;!--Creative Commons License--&gt;&lt;div style=&quot;float: left; width: 88px; margin-top: 3px;&quot;&gt;&lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; target=_blank&gt;&lt;img alt=&quot;Creative Commons License&quot; style=&quot;border-width: 0&quot; src=&quot;http://i.creativecommons.org/l/by-nc-sa/2.0/kr/88x31.png&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;margin-left: 92px; margin-top: 3px; text-align: justify;&quot;&gt;이 저작물은 &lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; target=_blank&gt;크리에이티브 커먼즈 코리아 저작자표시-비영리-동일조건변경허락 2.0 대한민국 라이센스&lt;/a&gt;에 따라 이용하실 수 있습니다.
			&lt;!-- Creative Commons License--&gt;
			&lt;!-- &lt;rdf:RDF xmlns=&quot;http://web.resource.org/cc/&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;&gt;
			&lt;Work rdf:about=&quot;&quot;&gt;
			&lt;license rdf:resource=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; /&gt;
			&lt;/Work&gt;
			&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-sa/&quot;&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Reproduction&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Distribution&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Notice&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Attribution&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/DerivativeWorks&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/ShareAlike&quot;/&gt;&lt;prohibits rdf:resource=&quot;http://web.resource.org/cc/CommercialUse&quot;/&gt;&lt;/License&gt;&lt;/rdf:RDF&gt; --&gt;&lt;/div&gt;&lt;/fieldset&gt;</description>
			<author>(소류)</author>
			<guid>http://soryu.net/80</guid>
			<comments>http://soryu.net/80#entry80comment</comments>
			<pubDate>Sat, 03 Oct 2009 21:27:06 +0900</pubDate>
		</item>
		<item>
			<title>Start on Twitter~!!</title>
			<link>http://soryu.net/79</link>
			<description>오늘부터 트워터의 시작~~~&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;0명의 Follower에서 얼마나 늘어나게 되려나....&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;훗 -_-;;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;언젠가 10명은 넘어가지겠지 ㄱ-;;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Soryu의 트위터로 고고싱~ &amp;nbsp;&lt;a href=&quot;http://twitter.com/soryu22&quot;  target=&quot;_blank&quot;&gt;http://twitter.com/soryu22&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;div id=&#039;kaAmo_AdCode&#039; style=&#039;position:relative; padding:10px 0px 10px 0px; border:none #ffffff 1px!important; &#039;&gt;&lt;script type=&quot;text/javascript&quot;&gt;&lt;!--
google_ad_client = &quot;pub-0580449365617270&quot;;
/* 468x60, 작성됨 08. 3. 20 */
google_ad_slot = &quot;2306086071&quot;;
google_ad_width = 468;
google_ad_height = 60;
//--&gt;
&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot;
src=&quot;http://pagead2.googlesyndication.com/pagead/show_ads.js&quot;&gt;
&lt;/script&gt;&lt;/div&gt;&lt;style&gt;#kaAmo_AdCode {text-align:center}&lt;/style&gt;&lt;br&gt;&lt;/div&gt;&lt;fieldset style=&quot;margin:20px 0px 20px 0px;padding:5px;&quot;&gt;&lt;legend&gt;&lt;span&gt;&lt;strong&gt;크리에이티브 커먼즈 라이센스&lt;/strong&gt;&lt;/span&gt;&lt;/legend&gt;&lt;!--Creative Commons License--&gt;&lt;div style=&quot;float: left; width: 88px; margin-top: 3px;&quot;&gt;&lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; target=_blank&gt;&lt;img alt=&quot;Creative Commons License&quot; style=&quot;border-width: 0&quot; src=&quot;http://i.creativecommons.org/l/by-nc-sa/2.0/kr/88x31.png&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;margin-left: 92px; margin-top: 3px; text-align: justify;&quot;&gt;이 저작물은 &lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; target=_blank&gt;크리에이티브 커먼즈 코리아 저작자표시-비영리-동일조건변경허락 2.0 대한민국 라이센스&lt;/a&gt;에 따라 이용하실 수 있습니다.
			&lt;!-- Creative Commons License--&gt;
			&lt;!-- &lt;rdf:RDF xmlns=&quot;http://web.resource.org/cc/&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;&gt;
			&lt;Work rdf:about=&quot;&quot;&gt;
			&lt;license rdf:resource=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; /&gt;
			&lt;/Work&gt;
			&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-sa/&quot;&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Reproduction&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Distribution&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Notice&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Attribution&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/DerivativeWorks&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/ShareAlike&quot;/&gt;&lt;prohibits rdf:resource=&quot;http://web.resource.org/cc/CommercialUse&quot;/&gt;&lt;/License&gt;&lt;/rdf:RDF&gt; --&gt;&lt;/div&gt;&lt;/fieldset&gt;</description>
			<category>My Dairy</category>
			<author>(소류)</author>
			<guid>http://soryu.net/79</guid>
			<comments>http://soryu.net/79#entry79comment</comments>
			<pubDate>Fri, 18 Sep 2009 14:40:53 +0900</pubDate>
		</item>
		<item>
			<title>[Debug] MS C++ 디버깅 매직넘버</title>
			<link>http://soryu.net/78</link>
			<description>&lt;span style=&quot;color: rgb(102, 102, 102); font-family: &#039;Malgun Gothic&#039;, Meiryo, &#039;Segoe UI&#039;, &#039;Trebuchet MS&#039;, &#039;MS PGothic&#039;, Gulim, AppleGothic, sans-serif; font-size: 12px; line-height: normal; &quot;&gt;
&lt;div&gt;MS C++ 디버깅시 자주 등장하는 매직넘버들~&lt;/div&gt;&lt;br&gt;&lt;table height=&quot;0&quot; cellspacing=&quot;0&quot; cellpadding=&quot;1&quot; width=&quot;100%&quot; border=&quot;1&quot;&gt;
&lt;tbody&gt;
	&lt;tr&gt;
		&lt;td&gt;&lt;font face=&quot;Courier New&quot; style=&quot;font-size: 9pt; &quot;&gt;0xabababab&lt;/font&gt;&lt;/td&gt;
		&lt;td&gt;&lt;font face=&quot;Courier New&quot; style=&quot;font-size: 9pt; &quot;&gt;HeapAlloc으로 메모리 할당 후 가드 바이트에 채워진 값&lt;/font&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td&gt;&lt;font face=&quot;Courier New&quot; style=&quot;font-size: 9pt; &quot;&gt;0xbaadf00d&lt;/font&gt;&lt;/td&gt;
		&lt;td&gt;&lt;font face=&quot;Courier New&quot; style=&quot;font-size: 9pt; &quot;&gt;LocalAlloc(LMEM_FIXED)으로 메모리 할당된 후 초기화 되지 않은 값&lt;/font&gt;&lt;/td&gt;
	&lt;/tr&gt;	
	&lt;tr&gt;
		&lt;td&gt;&lt;font face=&quot;Courier New&quot; style=&quot;font-size: 9pt; &quot;&gt;0xcccccccc&lt;/font&gt;&lt;/td&gt;
		&lt;td&gt;&lt;font face=&quot;Courier New&quot; style=&quot;font-size: 9pt; &quot;&gt;초기화 되지 않은 스택 메모리&lt;/font&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td&gt;&lt;font face=&quot;Courier New&quot; style=&quot;font-size: 9pt; &quot;&gt;0xcdcdcdcd&lt;/font&gt;&lt;/td&gt;
		&lt;td&gt;&lt;font face=&quot;Courier New&quot; style=&quot;font-size: 9pt; &quot;&gt;메모리 할당 후 초기화 되지 않은 힙 메모리&lt;/font&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td&gt;&lt;font face=&quot;Courier New&quot; style=&quot;font-size: 9pt; &quot;&gt;0xdddddddd&lt;/font&gt;&lt;/td&gt;
		&lt;td&gt;&lt;font face=&quot;Courier New&quot; style=&quot;font-size: 9pt; &quot;&gt;해제된 힙 메모리&lt;/font&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td&gt;&lt;font face=&quot;Courier New&quot; style=&quot;font-size: 9pt; &quot;&gt;0xfdfdfdfd&lt;/font&gt;&lt;/td&gt;
		&lt;td&gt;&lt;font face=&quot;Courier New&quot; style=&quot;font-size: 9pt; &quot;&gt;할당된 메모리의 전후 가드용 바이트에 채워지는 값&lt;/font&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td&gt;&lt;font face=&quot;Courier New&quot; style=&quot;font-size: 9pt; &quot;&gt;0xfeeefeee&lt;/font&gt;&lt;/td&gt;
		&lt;td&gt;&lt;font face=&quot;Courier New&quot; style=&quot;font-size: 9pt; &quot;&gt;힙 메모리를 해제한 후 채워지는 값 [HeapFree()]&lt;/font&gt;&lt;/td&gt;
	&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;br&gt;
&lt;/span&gt;&lt;div&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#666666&quot; face=&quot;&#039;Malgun Gothic&#039;, Meiryo, &#039;Segoe UI&#039;, &#039;Trebuchet MS&#039;, &#039;MS PGothic&#039;, Gulim, AppleGothic, sans-serif&quot; size=&quot;3&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: 12px; line-height: normal;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: rgb(85, 85, 85); font-family: AppleGothic, Dotum, Verdana, sans-serif; font-size: 11px; line-height: 16px; &quot;&gt;&lt;div id=&#039;kaAmo_AdCode&#039; style=&#039;position:relative; padding:10px 0px 10px 0px; border:none #ffffff 1px!important; &#039;&gt;&lt;script type=&quot;text/javascript&quot;&gt;&lt;!--
google_ad_client = &quot;pub-0580449365617270&quot;;
/* 468x60, 작성됨 08. 3. 20 */
google_ad_slot = &quot;2306086071&quot;;
google_ad_width = 468;
google_ad_height = 60;
//--&gt;
&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot;
src=&quot;http://pagead2.googlesyndication.com/pagead/show_ads.js&quot;&gt;
&lt;/script&gt;&lt;/div&gt;&lt;style&gt;#kaAmo_AdCode {text-align:center}&lt;/style&gt;&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;fieldset style=&quot;margin:20px 0px 20px 0px;padding:5px;&quot;&gt;&lt;legend&gt;&lt;span&gt;&lt;strong&gt;크리에이티브 커먼즈 라이센스&lt;/strong&gt;&lt;/span&gt;&lt;/legend&gt;&lt;!--Creative Commons License--&gt;&lt;div style=&quot;float: left; width: 88px; margin-top: 3px;&quot;&gt;&lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; target=_blank&gt;&lt;img alt=&quot;Creative Commons License&quot; style=&quot;border-width: 0&quot; src=&quot;http://i.creativecommons.org/l/by-nc-sa/2.0/kr/88x31.png&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;margin-left: 92px; margin-top: 3px; text-align: justify;&quot;&gt;이 저작물은 &lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; target=_blank&gt;크리에이티브 커먼즈 코리아 저작자표시-비영리-동일조건변경허락 2.0 대한민국 라이센스&lt;/a&gt;에 따라 이용하실 수 있습니다.
			&lt;!-- Creative Commons License--&gt;
			&lt;!-- &lt;rdf:RDF xmlns=&quot;http://web.resource.org/cc/&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;&gt;
			&lt;Work rdf:about=&quot;&quot;&gt;
			&lt;license rdf:resource=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; /&gt;
			&lt;/Work&gt;
			&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-sa/&quot;&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Reproduction&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Distribution&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Notice&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Attribution&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/DerivativeWorks&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/ShareAlike&quot;/&gt;&lt;prohibits rdf:resource=&quot;http://web.resource.org/cc/CommercialUse&quot;/&gt;&lt;/License&gt;&lt;/rdf:RDF&gt; --&gt;&lt;/div&gt;&lt;/fieldset&gt;</description>
			<category>Programming</category>
			<category>C++</category>
			<category>Debug</category>
			<author>(소류)</author>
			<guid>http://soryu.net/78</guid>
			<comments>http://soryu.net/78#entry78comment</comments>
			<pubDate>Wed, 02 Sep 2009 13:54:20 +0900</pubDate>
		</item>
		<item>
			<title>부활....</title>
			<link>http://soryu.net/77</link>
			<description>&lt;div&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;img src=&quot;http://soryu.net/attach/1/1046064781.jpg&quot; alt=&quot;사용자 삽입 이미지&quot; height=&quot;320&quot; width=&quot;240&quot; /&gt;&lt;/div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;서버 PC가 난데없는 바이러스 덕분에 복구도 제대로 안될정도로 날아가는 불상사를 당했습니다.&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;네...&lt;/div&gt;&lt;div&gt;다시 살아났습니다 -_-&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;거의 나 혼자 보는 공간이지만 ㅋㅋㅋ&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;뭐~ 그렇다구요~&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;몇년간의 그나마 별것 없는 기록이 날아가있는 동안 씁쓸했던 시간이 끝났습니다 ^^&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;div id=&#039;kaAmo_AdCode&#039; style=&#039;position:relative; padding:10px 0px 10px 0px; border:none #ffffff 1px!important; &#039;&gt;&lt;script type=&quot;text/javascript&quot;&gt;&lt;!--
google_ad_client = &quot;pub-0580449365617270&quot;;
/* 468x60, 작성됨 08. 3. 20 */
google_ad_slot = &quot;2306086071&quot;;
google_ad_width = 468;
google_ad_height = 60;
//--&gt;
&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot;
src=&quot;http://pagead2.googlesyndication.com/pagead/show_ads.js&quot;&gt;
&lt;/script&gt;&lt;/div&gt;&lt;style&gt;#kaAmo_AdCode {text-align:center}&lt;/style&gt;&lt;br&gt;&lt;/div&gt;&lt;fieldset style=&quot;margin:20px 0px 20px 0px;padding:5px;&quot;&gt;&lt;legend&gt;&lt;span&gt;&lt;strong&gt;크리에이티브 커먼즈 라이센스&lt;/strong&gt;&lt;/span&gt;&lt;/legend&gt;&lt;!--Creative Commons License--&gt;&lt;div style=&quot;float: left; width: 88px; margin-top: 3px;&quot;&gt;&lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; target=_blank&gt;&lt;img alt=&quot;Creative Commons License&quot; style=&quot;border-width: 0&quot; src=&quot;http://i.creativecommons.org/l/by-nc-sa/2.0/kr/88x31.png&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;margin-left: 92px; margin-top: 3px; text-align: justify;&quot;&gt;이 저작물은 &lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; target=_blank&gt;크리에이티브 커먼즈 코리아 저작자표시-비영리-동일조건변경허락 2.0 대한민국 라이센스&lt;/a&gt;에 따라 이용하실 수 있습니다.
			&lt;!-- Creative Commons License--&gt;
			&lt;!-- &lt;rdf:RDF xmlns=&quot;http://web.resource.org/cc/&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;&gt;
			&lt;Work rdf:about=&quot;&quot;&gt;
			&lt;license rdf:resource=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; /&gt;
			&lt;/Work&gt;
			&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-sa/&quot;&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Reproduction&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Distribution&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Notice&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Attribution&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/DerivativeWorks&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/ShareAlike&quot;/&gt;&lt;prohibits rdf:resource=&quot;http://web.resource.org/cc/CommercialUse&quot;/&gt;&lt;/License&gt;&lt;/rdf:RDF&gt; --&gt;&lt;/div&gt;&lt;/fieldset&gt;</description>
			<category>My Dairy</category>
			<author>(소류)</author>
			<guid>http://soryu.net/77</guid>
			<comments>http://soryu.net/77#entry77comment</comments>
			<pubDate>Wed, 02 Sep 2009 02:38:36 +0900</pubDate>
		</item>
		<item>
			<title>아~ 대한민국!</title>
			<link>http://soryu.net/76</link>
			<description>&lt;div&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;img src=&quot;http://soryu.net/attach/1/1380331661.jpg&quot; alt=&quot;사용자 삽입 이미지&quot; height=&quot;744&quot; width=&quot;440&quot; /&gt;&lt;/div&gt;&lt;br&gt;&lt;/div&gt;&lt;div style=&quot;text-align: center;&quot;&gt;지나간 카툰이지만 지금봐도 너무 공감되는.... ㅜㅜ&lt;br&gt;&lt;/div&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;br&gt;&lt;/div&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;div id=&#039;kaAmo_AdCode&#039; style=&#039;position:relative; padding:10px 0px 10px 0px; border:none #ffffff 1px!important; &#039;&gt;&lt;script type=&quot;text/javascript&quot;&gt;&lt;!--
google_ad_client = &quot;pub-0580449365617270&quot;;
/* 468x60, 작성됨 08. 3. 20 */
google_ad_slot = &quot;2306086071&quot;;
google_ad_width = 468;
google_ad_height = 60;
//--&gt;
&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot;
src=&quot;http://pagead2.googlesyndication.com/pagead/show_ads.js&quot;&gt;
&lt;/script&gt;&lt;/div&gt;&lt;style&gt;#kaAmo_AdCode {text-align:center}&lt;/style&gt;&lt;br&gt;&lt;/div&gt;&lt;fieldset style=&quot;margin:20px 0px 20px 0px;padding:5px;&quot;&gt;&lt;legend&gt;&lt;span&gt;&lt;strong&gt;크리에이티브 커먼즈 라이센스&lt;/strong&gt;&lt;/span&gt;&lt;/legend&gt;&lt;!--Creative Commons License--&gt;&lt;div style=&quot;float: left; width: 88px; margin-top: 3px;&quot;&gt;&lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; target=_blank&gt;&lt;img alt=&quot;Creative Commons License&quot; style=&quot;border-width: 0&quot; src=&quot;http://i.creativecommons.org/l/by-nc-sa/2.0/kr/88x31.png&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;margin-left: 92px; margin-top: 3px; text-align: justify;&quot;&gt;이 저작물은 &lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; target=_blank&gt;크리에이티브 커먼즈 코리아 저작자표시-비영리-동일조건변경허락 2.0 대한민국 라이센스&lt;/a&gt;에 따라 이용하실 수 있습니다.
			&lt;!-- Creative Commons License--&gt;
			&lt;!-- &lt;rdf:RDF xmlns=&quot;http://web.resource.org/cc/&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;&gt;
			&lt;Work rdf:about=&quot;&quot;&gt;
			&lt;license rdf:resource=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; /&gt;
			&lt;/Work&gt;
			&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-sa/&quot;&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Reproduction&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Distribution&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Notice&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Attribution&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/DerivativeWorks&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/ShareAlike&quot;/&gt;&lt;prohibits rdf:resource=&quot;http://web.resource.org/cc/CommercialUse&quot;/&gt;&lt;/License&gt;&lt;/rdf:RDF&gt; --&gt;&lt;/div&gt;&lt;/fieldset&gt;</description>
			<category>Fun &amp; Good Things</category>
			<category>Funny?</category>
			<author>(소류)</author>
			<guid>http://soryu.net/76</guid>
			<comments>http://soryu.net/76#entry76comment</comments>
			<pubDate>Wed, 18 Feb 2009 13:45:25 +0900</pubDate>
		</item>
		<item>
			<title>Casting in C++: Bringing Safety and Smartness to Your Programs</title>
			<link>http://soryu.net/75</link>
			<description>&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: rgb(51, 51, 51); font-family: Verdana; font-size: 13px; line-height: 22px; &quot;&gt;&lt;h1 style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-weight: bold; &quot;&gt;Casting in C++: Bringing Safety and Smartness to Your Programs&lt;/h1&gt;&lt;p style=&quot;color: rgb(51, 51, 51); font-family: Verdana, Arial, sans-serif; font-size: small; font-weight: normal; line-height: 150%; text-align: left; margin-bottom: 10px; &quot;&gt;By &lt;em&gt;&lt;a href=&quot;http://www.acm.org/crossroads/doc/crew/bowden_wise.html&quot;  style=&quot;text-decoration: underline; font-weight: bold; color: rgb(0, 0, 102); &quot;&gt;G. Bowden Wise&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;&lt;p style=&quot;color: rgb(51, 51, 51); font-family: Verdana, Arial, sans-serif; font-size: small; font-weight: normal; line-height: 150%; text-align: left; margin-bottom: 10px; &quot;&gt;The new C++ standard is full of powerful additions to the language: templates, run-time type identification (RTTI), namespaces, and exceptions to name a few. Rather than talk about one of these ``major&#039;&#039; extensions, I will discuss one of the minor extensions: the new C++ &lt;em&gt;casting operators&lt;/em&gt;.&lt;/p&gt;&lt;p style=&quot;color: rgb(51, 51, 51); font-family: Verdana, Arial, sans-serif; font-size: small; font-weight: normal; line-height: 150%; text-align: left; margin-bottom: 10px; &quot;&gt;The C++ draft standard includes the following four casting operators:&lt;/p&gt;&lt;ul&gt;&lt;li style=&quot;line-height: 150%; &quot;&gt;&lt;tt&gt;static_cast&lt;/tt&gt;&lt;/li&gt;&lt;li style=&quot;line-height: 150%; &quot;&gt;&lt;tt&gt;const_cast&lt;/tt&gt;&lt;/li&gt;&lt;li style=&quot;line-height: 150%; &quot;&gt;&lt;tt&gt;dynamic_cast&lt;/tt&gt;, and&lt;/li&gt;&lt;li style=&quot;line-height: 150%; &quot;&gt;&lt;tt&gt;reinterpret_cast&lt;/tt&gt;.&lt;/li&gt;&lt;/ul&gt;&lt;p style=&quot;color: rgb(51, 51, 51); font-family: Verdana, Arial, sans-serif; font-size: small; font-weight: normal; line-height: 150%; text-align: left; margin-bottom: 10px; &quot;&gt;These new operators are intended to remove some of the holes in the C type system introduced by the old C-style casts.&lt;/p&gt;&lt;p style=&quot;color: rgb(51, 51, 51); font-family: Verdana, Arial, sans-serif; font-size: small; font-weight: normal; line-height: 150%; text-align: left; margin-bottom: 10px; &quot;&gt;In this article we will learn about casting in general, discuss the problems with the old C-style cast, and take a look at the new C++ casting operators in detail.&lt;/p&gt;&lt;h2 style=&quot;margin-top: 0px; margin-right: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: rgb(0, 102, 153); font-family: &#039;Trebuchet MS&#039;, Verdana, sans-serif; font-size: medium; text-align: left; font-weight: bold; margin-bottom: 10px; &quot;&gt;&lt;a name=&quot;SECTION00010000000000000000&quot; id=&quot;SECTION00010000000000000000&quot; style=&quot;text-decoration: underline; font-weight: bold; &quot;&gt;Why Cast?&lt;/a&gt;&lt;/h2&gt;&lt;p style=&quot;color: rgb(51, 51, 51); font-family: Verdana, Arial, sans-serif; font-size: small; font-weight: normal; line-height: 150%; text-align: left; margin-bottom: 10px; &quot;&gt;Casts are used to convert the type of an object, expression, function argument, or return value to that of another type. Some conversions are performed automatically by the compiler without intervention by the programmer. These conversions are called &lt;strong&gt;implicit conversions&lt;/strong&gt;. The standard C++ conversions and user-defined conversions are performed implicitly by the compiler where needed. Other conversions must be explicitly specified by the programmer and are appropriately called &lt;strong&gt;explicit conversions&lt;/strong&gt;.&lt;/p&gt;&lt;p style=&quot;color: rgb(51, 51, 51); font-family: Verdana, Arial, sans-serif; font-size: small; font-weight: normal; line-height: 150%; text-align: left; margin-bottom: 10px; &quot;&gt;Standard conversions are used for integral promotions (e.g., &lt;tt&gt;enum&lt;/tt&gt; to &lt;tt&gt;int&lt;/tt&gt;), integral conversions (e.g., &lt;tt&gt;int&lt;/tt&gt; to &lt;tt&gt;unsigned int&lt;/tt&gt;), floating point conversions (e.g., &lt;tt&gt;float&lt;/tt&gt; to &lt;tt&gt;double&lt;/tt&gt;), floating-integral conversions (e.g., &lt;tt&gt;int&lt;/tt&gt; to &lt;tt&gt;float&lt;/tt&gt;), arithmetic conversions (e.g., converting operands to the type of the widest operand before evaluation), pointer conversions (e.g., derived class pointer to base class pointer), reference conversions (e.g., derived class reference to base class reference), and pointer-to-member conversions.&lt;/p&gt;&lt;p style=&quot;color: rgb(51, 51, 51); font-family: Verdana, Arial, sans-serif; font-size: small; font-weight: normal; line-height: 150%; text-align: left; margin-bottom: 10px; &quot;&gt;You can provide a user-defined conversion from a class &lt;tt&gt;X&lt;/tt&gt; to a class &lt;tt&gt;Y&lt;/tt&gt; by providing a constructor for &lt;tt&gt;Y&lt;/tt&gt; that takes an &lt;tt&gt;X&lt;/tt&gt; as an argument:&lt;/p&gt;&lt;pre&gt;   Y(const X&amp;amp; x)
&lt;/pre&gt;&lt;p style=&quot;color: rgb(51, 51, 51); font-family: Verdana, Arial, sans-serif; font-size: small; font-weight: normal; line-height: 150%; text-align: left; margin-bottom: 10px; &quot;&gt;or by providing a class &lt;tt&gt;Y&lt;/tt&gt; with a conversion operator:&lt;/p&gt;&lt;pre&gt;    operator X()
&lt;/pre&gt;&lt;p style=&quot;color: rgb(51, 51, 51); font-family: Verdana, Arial, sans-serif; font-size: small; font-weight: normal; line-height: 150%; text-align: left; margin-bottom: 10px; &quot;&gt;When a type is needed for an expression that cannot be obtained through an implicit conversion or when more than one standard conversion creates an ambiguous situation, the programmer must explicitly specify the target type of the conversion.&lt;/p&gt;&lt;p style=&quot;color: rgb(51, 51, 51); font-family: Verdana, Arial, sans-serif; font-size: small; font-weight: normal; line-height: 150%; text-align: left; margin-bottom: 10px; &quot;&gt;In C, an expression, &lt;tt&gt;expr&lt;/tt&gt;, of type &lt;tt&gt;S&lt;/tt&gt; can be cast to another type &lt;tt&gt;T&lt;/tt&gt; in one of the following ways. By using an explicit cast:&lt;/p&gt;&lt;pre&gt;   (T) expr
&lt;/pre&gt;&lt;p style=&quot;color: rgb(51, 51, 51); font-family: Verdana, Arial, sans-serif; font-size: small; font-weight: normal; line-height: 150%; text-align: left; margin-bottom: 10px; &quot;&gt;or by using a functional form:&lt;/p&gt;&lt;pre&gt;   T(expr)
&lt;/pre&gt;&lt;p style=&quot;color: rgb(51, 51, 51); font-family: Verdana, Arial, sans-serif; font-size: small; font-weight: normal; line-height: 150%; text-align: left; margin-bottom: 10px; &quot;&gt;We will refer to either of these constructs as the &lt;strong&gt;old C-style casts&lt;/strong&gt;.&lt;/p&gt;&lt;p style=&quot;color: rgb(51, 51, 51); font-family: Verdana, Arial, sans-serif; font-size: small; font-weight: normal; line-height: 150%; text-align: left; margin-bottom: 10px; &quot;&gt;The old C-style casts have several shortcomings. First, the syntax is the same for every casting operation. This means it is impossible for the compiler (or users) to tell the intended purpose of the cast. Is it a cast from a base class pointer to a derived class pointer? Does the cast remove the ``const-ness&#039;&#039; of the object? Or, is it a conversion of one type to a completely unrelated type? The truth is, it is impossible to tell from the syntax. As a result, this makes the cast harder to comprehend, not only by humans, but also by compilers which are unable to detect improper casts.&lt;/p&gt;&lt;p style=&quot;color: rgb(51, 51, 51); font-family: Verdana, Arial, sans-serif; font-size: small; font-weight: normal; line-height: 150%; text-align: left; margin-bottom: 10px; &quot;&gt;Another problem is that the C-style casts are hard to find. Parentheses with an identifier between them are used all over C++ programs. There is no easy way to ``grep&#039;&#039; a source file and get a list of all the casts being performed.&lt;/p&gt;&lt;p style=&quot;color: rgb(51, 51, 51); font-family: Verdana, Arial, sans-serif; font-size: small; font-weight: normal; line-height: 150%; text-align: left; margin-bottom: 10px; &quot;&gt;Perhaps the most serious problem with the old C-style cast is that it allows you to cast practically any type to any other type. Improper use of casts can lead to disastrous results. The old C-style casts have created a few holes in the C type system and have also been a souce of confusion for both programmers and compilers. Even in C++, the old C-style casts are retained for backwards compatibility. However, using the new C++ style casting operators will make your programs more readable, type-safe, less error-prone, and easier to maintain.&lt;/p&gt;&lt;h2 style=&quot;margin-top: 0px; margin-right: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: rgb(0, 102, 153); font-family: &#039;Trebuchet MS&#039;, Verdana, sans-serif; font-size: medium; text-align: left; font-weight: bold; margin-bottom: 10px; &quot;&gt;&lt;a name=&quot;SECTION00020000000000000000&quot; id=&quot;SECTION00020000000000000000&quot; style=&quot;text-decoration: underline; font-weight: bold; &quot;&gt;The New C++ Casting Operators&lt;/a&gt;&lt;/h2&gt;&lt;p style=&quot;color: rgb(51, 51, 51); font-family: Verdana, Arial, sans-serif; font-size: small; font-weight: normal; line-height: 150%; text-align: left; margin-bottom: 10px; &quot;&gt;The new C++ casting operators are intended to provide a solution to the shortcomings of the old C-style casts by providing:&lt;/p&gt;&lt;ul&gt;&lt;li style=&quot;line-height: 150%; &quot;&gt;&lt;em&gt;Improved syntax.&lt;/em&gt; Casts have a clear, concise, although somewhat cumbersome syntax. This makes casts easier to understand, find, and maintain.&lt;/li&gt;&lt;li style=&quot;line-height: 150%; &quot;&gt;&lt;em&gt;Improved semantics.&lt;/em&gt; The intended meaning of a cast is no longer ambiguous. Knowing what the programmer intended the cast to do makes it possible for compilers to detect improper casting operations.&lt;/li&gt;&lt;li style=&quot;line-height: 150%; &quot;&gt;&lt;em&gt;Type-safe conversions.&lt;/em&gt; Allow some casts to be performed safely at run-time. This will enable programmers to check whether a particular cast is successful or not.&lt;/li&gt;&lt;/ul&gt;&lt;p style=&quot;color: rgb(51, 51, 51); font-family: Verdana, Arial, sans-serif; font-size: small; font-weight: normal; line-height: 150%; text-align: left; margin-bottom: 10px; &quot;&gt;C++ introduces four new casting operators:&lt;/p&gt;&lt;ul&gt;&lt;li style=&quot;line-height: 150%; &quot;&gt;&lt;tt&gt;static_cast&lt;/tt&gt;, to convert one type to another type;&lt;/li&gt;&lt;li style=&quot;line-height: 150%; &quot;&gt;&lt;tt&gt;const_cast&lt;/tt&gt;, to cast away the ``const-ness&#039;&#039; or ``volatile-ness&#039;&#039; of a type;&lt;/li&gt;&lt;li style=&quot;line-height: 150%; &quot;&gt;&lt;tt&gt;dynamic_cast&lt;/tt&gt;, for &lt;em&gt;safe&lt;/em&gt; navigation of an inheritance hierarchy; and&lt;/li&gt;&lt;li style=&quot;line-height: 150%; &quot;&gt;&lt;tt&gt;reinterpret_cast&lt;/tt&gt;, to perform type conversions on un-related types.&lt;/li&gt;&lt;/ul&gt;&lt;p style=&quot;color: rgb(51, 51, 51); font-family: Verdana, Arial, sans-serif; font-size: small; font-weight: normal; line-height: 150%; text-align: left; margin-bottom: 10px; &quot;&gt;All of the casting operators have the same syntax and are used in a manner similar to templates. For example, to perform a &lt;tt&gt;static_cast&lt;/tt&gt; of &lt;tt&gt;ptr&lt;/tt&gt; to a type &lt;tt&gt;T&lt;/tt&gt; we write:&lt;/p&gt;&lt;pre&gt;   T* t = static_cast&amp;lt;T&gt; (ptr);
&lt;/pre&gt;&lt;p style=&quot;color: rgb(51, 51, 51); font-family: Verdana, Arial, sans-serif; font-size: small; font-weight: normal; line-height: 150%; text-align: left; margin-bottom: 10px; &quot;&gt;As we will soon see, &lt;tt&gt;static_cast&lt;/tt&gt; is the most general and is intended as a replacement for most C-style casts. The other three forms are for specific circumstances to be discussed below.&lt;/p&gt;&lt;h3 style=&quot;margin-top: 0px; margin-right: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: rgb(0, 0, 0); font-family: &#039;Trebuchet MS&#039;, Verdana, sans-serif; font-size: medium; text-align: left; font-weight: bold; margin-bottom: 10px; &quot;&gt;&lt;a name=&quot;SECTION00021000000000000000&quot; id=&quot;SECTION00021000000000000000&quot; style=&quot;text-decoration: underline; font-weight: bold; &quot;&gt;The &lt;tt&gt;static_cast&lt;/tt&gt; Operator&lt;/a&gt;&lt;/h3&gt;&lt;p style=&quot;color: rgb(51, 51, 51); font-family: Verdana, Arial, sans-serif; font-size: small; font-weight: normal; line-height: 150%; text-align: left; margin-bottom: 10px; &quot;&gt;The &lt;tt&gt;static_cast&lt;/tt&gt; operator takes the form&lt;/p&gt;&lt;pre&gt;    static_cast&amp;lt;T&gt; (expr)
&lt;/pre&gt;&lt;p style=&quot;color: rgb(51, 51, 51); font-family: Verdana, Arial, sans-serif; font-size: small; font-weight: normal; line-height: 150%; text-align: left; margin-bottom: 10px; &quot;&gt;to convert the expression &lt;tt&gt;expr&lt;/tt&gt; to type &lt;tt&gt;T&lt;/tt&gt;. Such conversions rely on static (compile-time) type information.&lt;/p&gt;&lt;p style=&quot;color: rgb(51, 51, 51); font-family: Verdana, Arial, sans-serif; font-size: small; font-weight: normal; line-height: 150%; text-align: left; margin-bottom: 10px; &quot;&gt;Subject to certain restrictions, you may use &lt;tt&gt;static_cast&lt;/tt&gt; to convert a base class pointer to a derived class pointer, perform arithmetic conversions, convert an &lt;tt&gt;int&lt;/tt&gt; to an&lt;tt&gt;enum&lt;/tt&gt;, convert a reference of type &lt;tt&gt;X&amp;amp;&lt;/tt&gt; to another reference of type &lt;tt&gt;Y&amp;amp;&lt;/tt&gt;, convert an object of type &lt;tt&gt;X&lt;/tt&gt; to an object of type &lt;tt&gt;Y&lt;/tt&gt;, and convert a pointer-to-member to another pointer-to-member within the same class hierarchy.&lt;/p&gt;&lt;p style=&quot;color: rgb(51, 51, 51); font-family: Verdana, Arial, sans-serif; font-size: small; font-weight: normal; line-height: 150%; text-align: left; margin-bottom: 10px; &quot;&gt;Internally, &lt;tt&gt;static_cast&lt;/tt&gt;s are used by the compiler to perform implicit type conversions such as the standard conversions and user-defined conversions. In general, a complete type can be converted to another type so long as some conversion sequence is provided by the language.&lt;/p&gt;&lt;p style=&quot;color: rgb(51, 51, 51); font-family: Verdana, Arial, sans-serif; font-size: small; font-weight: normal; line-height: 150%; text-align: left; margin-bottom: 10px; &quot;&gt;The downcast of a base class pointer &lt;tt&gt;X*&lt;/tt&gt; to a derived class pointer &lt;tt&gt;Y*&lt;/tt&gt; can be done statically only if the conversion is unambiguous and &lt;tt&gt;X&lt;/tt&gt; is not a &lt;tt&gt;virtual&lt;/tt&gt; base class. Consider this class hierarchy:&lt;/p&gt;&lt;pre&gt;   class BankAcct
         { /* ... */ }
   class SavingsAcct : public BankAcct
         { /* ... */ }
&lt;/pre&gt;&lt;p style=&quot;color: rgb(51, 51, 51); font-family: Verdana, Arial, sans-serif; font-size: small; font-weight: normal; line-height: 150%; text-align: left; margin-bottom: 10px; &quot;&gt;Given a base class pointer, we can cast it to a derived class pointer:&lt;/p&gt;&lt;pre&gt;   void f (BankAcct* acct)
   {
      SavingsAcct* d1 =
        static_cast&amp;lt;SavingsAcct*&gt;(acct);
   }
&lt;/pre&gt;&lt;p style=&quot;color: rgb(51, 51, 51); font-family: Verdana, Arial, sans-serif; font-size: small; font-weight: normal; line-height: 150%; text-align: left; margin-bottom: 10px; &quot;&gt;This is called a &lt;strong&gt;downcast&lt;/strong&gt;. The &lt;tt&gt;static_cast&lt;/tt&gt; operator allows you to perform safe downcasts for non-polymorphic classes.&lt;/p&gt;&lt;p style=&quot;color: rgb(51, 51, 51); font-family: Verdana, Arial, sans-serif; font-size: small; font-weight: normal; line-height: 150%; text-align: left; margin-bottom: 10px; &quot;&gt;Note that &lt;tt&gt;static_cast&lt;/tt&gt; relies on static (compile-time) type information and does not perform any run-time type checking. This means that if &lt;tt&gt;acct&lt;/tt&gt; does, in fact, &lt;em&gt;not&lt;/em&gt; refer to an actual &lt;tt&gt;SavingsAcct&lt;/tt&gt; the result of the cast is undefined. Borland C++ 4.5, seemingly incorrectly, still performs the conversion, however. Your compiler mileage may vary. If you want to use run-time type information during conversion of polymorphic class types, use &lt;tt&gt;dynamic_cast&lt;/tt&gt;. It is not possible to perform a downcast from a &lt;tt&gt;virtual&lt;/tt&gt; base class using a &lt;tt&gt;static_cast&lt;/tt&gt;; you must use a &lt;tt&gt;dynamic_cast&lt;/tt&gt;.&lt;/p&gt;&lt;p style=&quot;color: rgb(51, 51, 51); font-family: Verdana, Arial, sans-serif; font-size: small; font-weight: normal; line-height: 150%; text-align: left; margin-bottom: 10px; &quot;&gt;More generally, a &lt;tt&gt;static_cast&lt;/tt&gt; may be used to perform the explicit inverse of the implicit standard conversions. A conversion from type &lt;tt&gt;S&lt;/tt&gt; to &lt;tt&gt;T&lt;/tt&gt; can only be done if the conversion from type &lt;tt&gt;T&lt;/tt&gt; to &lt;tt&gt;S&lt;/tt&gt; is an implicit conversion. Also, the ``&lt;tt&gt;const&lt;/tt&gt;-ness&#039;&#039; of the original type, &lt;tt&gt;S&lt;/tt&gt;, must be preserved. You cannot use &lt;tt&gt;static_cast&lt;/tt&gt; to change ``&lt;tt&gt;const&lt;/tt&gt;-ness&#039;&#039;; use &lt;tt&gt;const_cast&lt;/tt&gt; instead.&lt;/p&gt;&lt;p style=&quot;color: rgb(51, 51, 51); font-family: Verdana, Arial, sans-serif; font-size: small; font-weight: normal; line-height: 150%; text-align: left; margin-bottom: 10px; &quot;&gt;One of the more common uses of &lt;tt&gt;static_cast&lt;/tt&gt; is to perform arithmetic conversions, such as from &lt;tt&gt;int&lt;/tt&gt; to &lt;tt&gt;double&lt;/tt&gt;. For example, to avoid the truncation in the following computation:&lt;/p&gt;&lt;pre&gt;   int   total = 500;
   int   days  = 9;
   double rate = total/days;
&lt;/pre&gt;&lt;p style=&quot;color: rgb(51, 51, 51); font-family: Verdana, Arial, sans-serif; font-size: small; font-weight: normal; line-height: 150%; text-align: left; margin-bottom: 10px; &quot;&gt;We can write:&lt;/p&gt;&lt;pre&gt;   double rate =
          static_cast&amp;lt;double&gt;(total)/days;
&lt;/pre&gt;&lt;p style=&quot;color: rgb(51, 51, 51); font-family: Verdana, Arial, sans-serif; font-size: small; font-weight: normal; line-height: 150%; text-align: left; margin-bottom: 10px; &quot;&gt;A &lt;tt&gt;static_cast&lt;/tt&gt; may also be used to convert an integral type to an enumeration. Consider:&lt;/p&gt;&lt;pre&gt;   enum fruit {apple=0,orange,banana};
   int i  1 = 2;
   fruit f1 = static_cast&amp;lt;fruit&gt; (i1);
&lt;/pre&gt;&lt;p style=&quot;color: rgb(51, 51, 51); font-family: Verdana, Arial, sans-serif; font-size: small; font-weight: normal; line-height: 150%; text-align: left; margin-bottom: 10px; &quot;&gt;The conversion results in an enumeration with the same value as the integral type provided the integral value is within the range of the enumeration. The conversion of an integral value that is not within the range of the enumeration is undefined.&lt;/p&gt;&lt;p style=&quot;color: rgb(51, 51, 51); font-family: Verdana, Arial, sans-serif; font-size: small; font-weight: normal; line-height: 150%; text-align: left; margin-bottom: 10px; &quot;&gt;You may also use &lt;tt&gt;static_cast&lt;/tt&gt; to convert any expression to a &lt;tt&gt;void&lt;/tt&gt;, in which case the value of the expression is discarded.&lt;/p&gt;&lt;p style=&quot;color: rgb(51, 51, 51); font-family: Verdana, Arial, sans-serif; font-size: small; font-weight: normal; line-height: 150%; text-align: left; margin-bottom: 10px; &quot;&gt;One interesting side effect of the old C-style casts, was to gain access to a private base class of a derived class. Consider this hierarchy:&lt;/p&gt;&lt;pre&gt;   class Base
   {
   public:
      Base() : _data(999) {}
      int  Data() const {return _data;}
   private:
      int _data;
   };

   class Derived : private Base
   {
   public:
      Derived () : Base() {}
   };

   Derived* d1 = new Derived;
&lt;/pre&gt;&lt;p style=&quot;color: rgb(51, 51, 51); font-family: Verdana, Arial, sans-serif; font-size: small; font-weight: normal; line-height: 150%; text-align: left; margin-bottom: 10px; &quot;&gt;Normally, you should not be able to access &lt;tt&gt;Data()&lt;/tt&gt; through the pointer &lt;tt&gt;d1&lt;/tt&gt;. However, using an old C-style cast, we can:&lt;/p&gt;&lt;pre&gt;   Base* b1 = (Base*) d1;
   int i = b1-&gt;Data(); // works!
&lt;/pre&gt;&lt;p style=&quot;color: rgb(51, 51, 51); font-family: Verdana, Arial, sans-serif; font-size: small; font-weight: normal; line-height: 150%; text-align: left; margin-bottom: 10px; &quot;&gt;The good news is that if you attempt to use &lt;tt&gt;static_cast&lt;/tt&gt;:&lt;/p&gt;&lt;pre&gt;   Base* b1 = static_cast&amp;lt;Base*&gt;(d1);
&lt;/pre&gt;&lt;p style=&quot;color: rgb(51, 51, 51); font-family: Verdana, Arial, sans-serif; font-size: small; font-weight: normal; line-height: 150%; text-align: left; margin-bottom: 10px; &quot;&gt;the compiler will correctly report that &lt;tt&gt;Base&lt;/tt&gt; is inaccessible because it is a &lt;tt&gt;private&lt;/tt&gt; base class.&lt;/p&gt;&lt;p style=&quot;color: rgb(51, 51, 51); font-family: Verdana, Arial, sans-serif; font-size: small; font-weight: normal; line-height: 150%; text-align: left; margin-bottom: 10px; &quot;&gt;Another unfortunate hole created in the type system by the old C-style casts results with incomplete types. Consider:&lt;/p&gt;&lt;pre&gt;   class X; // incomplete
   class Y; // incomplete
&lt;/pre&gt;&lt;p style=&quot;color: rgb(51, 51, 51); font-family: Verdana, Arial, sans-serif; font-size: small; font-weight: normal; line-height: 150%; text-align: left; margin-bottom: 10px; &quot;&gt;The old C-style casts, let us cast from one incomplete type to another! Here is an example:&lt;/p&gt;&lt;pre&gt;   void f(X* x)
   {
      Y* y = (Y*) x;  // works!
   }
&lt;/pre&gt;&lt;p style=&quot;color: rgb(51, 51, 51); font-family: Verdana, Arial, sans-serif; font-size: small; font-weight: normal; line-height: 150%; text-align: left; margin-bottom: 10px; &quot;&gt;Thankfully, this hole has also been plugged by &lt;tt&gt;static_cast&lt;/tt&gt;:&lt;/p&gt;&lt;pre&gt;   void f(X* x)
   {
      Y* y = static_cast&amp;lt;Y*&gt; x;  // fails
   }
&lt;/pre&gt;&lt;h3 style=&quot;margin-top: 0px; margin-right: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: rgb(0, 0, 0); font-family: &#039;Trebuchet MS&#039;, Verdana, sans-serif; font-size: medium; text-align: left; font-weight: bold; margin-bottom: 10px; &quot;&gt;&lt;a name=&quot;SECTION00022000000000000000&quot; id=&quot;SECTION00022000000000000000&quot; style=&quot;text-decoration: underline; font-weight: bold; &quot;&gt;The &lt;tt&gt;const_cast&lt;/tt&gt; Operator&lt;/a&gt;&lt;/h3&gt;&lt;p style=&quot;color: rgb(51, 51, 51); font-family: Verdana, Arial, sans-serif; font-size: small; font-weight: normal; line-height: 150%; text-align: left; margin-bottom: 10px; &quot;&gt;The &lt;tt&gt;const_cast&lt;/tt&gt; operator takes the form&lt;/p&gt;&lt;pre&gt;    const_cast&amp;lt;T&gt; (expr)
&lt;/pre&gt;&lt;p style=&quot;color: rgb(51, 51, 51); font-family: Verdana, Arial, sans-serif; font-size: small; font-weight: normal; line-height: 150%; text-align: left; margin-bottom: 10px; &quot;&gt;and is used to add or remove the ``&lt;tt&gt;const&lt;/tt&gt;-ness&#039;&#039; or ``volatile-ness&#039;&#039; from a type.&lt;/p&gt;&lt;p style=&quot;color: rgb(51, 51, 51); font-family: Verdana, Arial, sans-serif; font-size: small; font-weight: normal; line-height: 150%; text-align: left; margin-bottom: 10px; &quot;&gt;Consider a function, &lt;tt&gt;f&lt;/tt&gt;, which takes a non-&lt;tt&gt;const&lt;/tt&gt; argument:&lt;/p&gt;&lt;pre&gt;   double f(double&amp;amp; d);
&lt;/pre&gt;&lt;p style=&quot;color: rgb(51, 51, 51); font-family: Verdana, Arial, sans-serif; font-size: small; font-weight: normal; line-height: 150%; text-align: left; margin-bottom: 10px; &quot;&gt;However, we wish to call &lt;tt&gt;f&lt;/tt&gt; from another function &lt;tt&gt;g&lt;/tt&gt;:&lt;/p&gt;&lt;pre&gt;   void g (const double&amp;amp; d)
   {
     val = f(d);
   }
&lt;/pre&gt;&lt;p style=&quot;color: rgb(51, 51, 51); font-family: Verdana, Arial, sans-serif; font-size: small; font-weight: normal; line-height: 150%; text-align: left; margin-bottom: 10px; &quot;&gt;Since &lt;tt&gt;d&lt;/tt&gt; is &lt;tt&gt;const&lt;/tt&gt; and should not be modified, the compiler will complain because &lt;tt&gt;f&lt;/tt&gt; may potentially modify its value. To get around this dilemma, we can use a &lt;tt&gt;const_cast&lt;/tt&gt;:&lt;/p&gt;&lt;pre&gt;   void g (const double&amp;amp; d)
   {
      val = f(const_cast&amp;lt;double&amp;amp;&gt;(d));
   }
&lt;/pre&gt;&lt;p style=&quot;color: rgb(51, 51, 51); font-family: Verdana, Arial, sans-serif; font-size: small; font-weight: normal; line-height: 150%; text-align: left; margin-bottom: 10px; &quot;&gt;which strips away the ``&lt;tt&gt;const&lt;/tt&gt;-ness&#039;&#039; of &lt;tt&gt;d&lt;/tt&gt; before passing it to &lt;tt&gt;f&lt;/tt&gt;.&lt;/p&gt;&lt;p style=&quot;color: rgb(51, 51, 51); font-family: Verdana, Arial, sans-serif; font-size: small; font-weight: normal; line-height: 150%; text-align: left; margin-bottom: 10px; &quot;&gt;Another scenario where &lt;tt&gt;const_cast&lt;/tt&gt; is useful is inside &lt;tt&gt;const&lt;/tt&gt; functions. Remember that when you make a member function &lt;tt&gt;const&lt;/tt&gt;, you are telling your users (and the compiler) that calling this function will not change the value of the object. However, in some cases, we find that it is sometimes still necessary to change the value of some internal data members inside a function that is &lt;tt&gt;const&lt;/tt&gt;. For example, consider class &lt;tt&gt;B&lt;/tt&gt;:&lt;/p&gt;&lt;pre&gt;   class B
   {
   public:
      B()  {}
      ~B() {}
      void f() const;
   private:
      int  _count;
   };
&lt;/pre&gt;&lt;p style=&quot;color: rgb(51, 51, 51); font-family: Verdana, Arial, sans-serif; font-size: small; font-weight: normal; line-height: 150%; text-align: left; margin-bottom: 10px; &quot;&gt;Suppose that, &lt;tt&gt;f()&lt;/tt&gt;, which is declared to be &lt;tt&gt;const&lt;/tt&gt;, must modify &lt;tt&gt;_count&lt;/tt&gt; whenever it is called:&lt;/p&gt;&lt;pre&gt;   void B::f() const
   {
      _count += 1;
   }
&lt;/pre&gt;&lt;p style=&quot;color: rgb(51, 51, 51); font-family: Verdana, Arial, sans-serif; font-size: small; font-weight: normal; line-height: 150%; text-align: left; margin-bottom: 10px; &quot;&gt;The compiler will not allow &lt;tt&gt;_count&lt;/tt&gt; to be changed because the function is &lt;tt&gt;const&lt;/tt&gt;. Just how does the compiler perform this magic? It turns out that the type of the internal &lt;tt&gt;this&lt;/tt&gt;pointer helps the compiler perform this check.&lt;/p&gt;&lt;p style=&quot;color: rgb(51, 51, 51); font-family: Verdana, Arial, sans-serif; font-size: small; font-weight: normal; line-height: 150%; text-align: left; margin-bottom: 10px; &quot;&gt;Every non-static member function of a class &lt;tt&gt;C&lt;/tt&gt; has a &lt;tt&gt;this&lt;/tt&gt; pointer. For non-&lt;tt&gt;const&lt;/tt&gt; member functions of class &lt;tt&gt;C&lt;/tt&gt;, &lt;tt&gt;this&lt;/tt&gt; has type&lt;/p&gt;&lt;pre&gt;   C * const
&lt;/pre&gt;&lt;p style=&quot;color: rgb(51, 51, 51); font-family: Verdana, Arial, sans-serif; font-size: small; font-weight: normal; line-height: 150%; text-align: left; margin-bottom: 10px; &quot;&gt;This means that &lt;tt&gt;this&lt;/tt&gt; is a &lt;strong&gt;constant pointer&lt;/strong&gt;. In other words, you cannot change what the pointer &lt;tt&gt;this&lt;/tt&gt; points to, after all, that would be disastrous, wouldn&#039;t it? However, you can still change what ever &lt;tt&gt;this&lt;/tt&gt; points to (i.e., you can change data members of class &lt;tt&gt;C&lt;/tt&gt;).&lt;/p&gt;&lt;p style=&quot;color: rgb(51, 51, 51); font-family: Verdana, Arial, sans-serif; font-size: small; font-weight: normal; line-height: 150%; text-align: left; margin-bottom: 10px; &quot;&gt;For &lt;tt&gt;const&lt;/tt&gt; member functions of class &lt;tt&gt;C&lt;/tt&gt;, &lt;tt&gt;this&lt;/tt&gt; has a type of&lt;/p&gt;&lt;pre&gt;  const C * const
&lt;/pre&gt;&lt;p style=&quot;color: rgb(51, 51, 51); font-family: Verdana, Arial, sans-serif; font-size: small; font-weight: normal; line-height: 150%; text-align: left; margin-bottom: 10px; &quot;&gt;Not only is &lt;tt&gt;this&lt;/tt&gt; a constant pointer but also &lt;em&gt;what is pointed to is constant&lt;/em&gt;. So the data members of &lt;tt&gt;C&lt;/tt&gt; may not be changed through the &lt;tt&gt;this&lt;/tt&gt; pointer. This is how the compiler ensures that you do not modify data members inside &lt;tt&gt;const&lt;/tt&gt; functions.&lt;/p&gt;&lt;p style=&quot;color: rgb(51, 51, 51); font-family: Verdana, Arial, sans-serif; font-size: small; font-weight: normal; line-height: 150%; text-align: left; margin-bottom: 10px; &quot;&gt;Examining the member function &lt;tt&gt;B::f&lt;/tt&gt; again, the statement &lt;tt&gt;_count&lt;/tt&gt; is actually interpreted as &lt;tt&gt;this-&gt;_count&lt;/tt&gt;. But since &lt;tt&gt;this&lt;/tt&gt; has type &lt;tt&gt;const B * const&lt;/tt&gt;, it cannot be used to change the value of &lt;tt&gt;_count&lt;/tt&gt; so the compiler reports an error.&lt;/p&gt;&lt;p style=&quot;color: rgb(51, 51, 51); font-family: Verdana, Arial, sans-serif; font-size: small; font-weight: normal; line-height: 150%; text-align: left; margin-bottom: 10px; &quot;&gt;We can, however, use &lt;tt&gt;const_cast&lt;/tt&gt; to cast away the ``&lt;tt&gt;const&lt;/tt&gt;-ness&#039;&#039; of &lt;tt&gt;this&lt;/tt&gt;:&lt;/p&gt;&lt;pre&gt;   void B::f() const
   {
      B* const localThis =
               const_cast&amp;lt;B* const&gt;(this);
      localThis-&gt;_count += 1;
   }
&lt;/pre&gt;&lt;p style=&quot;color: rgb(51, 51, 51); font-family: Verdana, Arial, sans-serif; font-size: small; font-weight: normal; line-height: 150%; text-align: left; margin-bottom: 10px; &quot;&gt;Actually, you should not be casting away the ``const-ness&#039;&#039; of &lt;tt&gt;this&lt;/tt&gt; using &lt;tt&gt;const_cast&lt;/tt&gt;. C++ now has the keyword &lt;tt&gt;mutable&lt;/tt&gt; for those data members whose value may be changed by &lt;tt&gt;const&lt;/tt&gt; functions. By declaring &lt;tt&gt;_count&lt;/tt&gt; as:&lt;/p&gt;&lt;pre&gt;   mutable int _count;
&lt;/pre&gt;&lt;p style=&quot;color: rgb(51, 51, 51); font-family: Verdana, Arial, sans-serif; font-size: small; font-weight: normal; line-height: 150%; text-align: left; margin-bottom: 10px; &quot;&gt;We can use the original implementation of &lt;tt&gt;B::f&lt;/tt&gt; without casting away the ``const-ness&#039;&#039; of &lt;tt&gt;this&lt;/tt&gt;.&lt;/p&gt;&lt;p style=&quot;color: rgb(51, 51, 51); font-family: Verdana, Arial, sans-serif; font-size: small; font-weight: normal; line-height: 150%; text-align: left; margin-bottom: 10px; &quot;&gt;&lt;tt&gt;const_cast&lt;/tt&gt; can also be used to strip away the ``volatile-ness&#039;&#039; of an object in a similar manner. You cannot use &lt;tt&gt;const_cast&lt;/tt&gt; for any other types of casts, such as casting a base class pointer to a derived class pointer. If you do so, the compiler will report an error.&lt;/p&gt;&lt;h3 style=&quot;margin-top: 0px; margin-right: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: rgb(0, 0, 0); font-family: &#039;Trebuchet MS&#039;, Verdana, sans-serif; font-size: medium; text-align: left; font-weight: bold; margin-bottom: 10px; &quot;&gt;&lt;a name=&quot;SECTION00023000000000000000&quot; id=&quot;SECTION00023000000000000000&quot; style=&quot;text-decoration: underline; font-weight: bold; &quot;&gt;The &lt;tt&gt;dynamic_cast&lt;/tt&gt; Operator&lt;/a&gt;&lt;/h3&gt;&lt;p style=&quot;color: rgb(51, 51, 51); font-family: Verdana, Arial, sans-serif; font-size: small; font-weight: normal; line-height: 150%; text-align: left; margin-bottom: 10px; &quot;&gt;The &lt;tt&gt;dynamic_cast&lt;/tt&gt; operator takes the form&lt;/p&gt;&lt;pre&gt;   dynamic_cast&amp;lt;T&gt; (expr)
&lt;/pre&gt;&lt;p style=&quot;color: rgb(51, 51, 51); font-family: Verdana, Arial, sans-serif; font-size: small; font-weight: normal; line-height: 150%; text-align: left; margin-bottom: 10px; &quot;&gt;and can be used only for pointer or reference types to navigate a class hierarchy. The &lt;tt&gt;dynamic_cast&lt;/tt&gt; operator can be used to cast from a derived class pointer to a base class pointer, cast a derived class pointer to another derived (sibling) class pointer, or cast a base class pointer to a derived class pointer. Each of these conversions may also be applied to references. In addition, any pointer may also be cast to a &lt;tt&gt;void*&lt;/tt&gt;.&lt;/p&gt;&lt;p style=&quot;color: rgb(51, 51, 51); font-family: Verdana, Arial, sans-serif; font-size: small; font-weight: normal; line-height: 150%; text-align: left; margin-bottom: 10px; &quot;&gt;The &lt;tt&gt;dynamic_cast&lt;/tt&gt; operator is actually part of C++&#039;s run-time type information, or RTTI, sub-system. As such, it has been provided for use with &lt;strong&gt;polymorphic&lt;/strong&gt; classes -- those classes which have at least one virtual function. Use &lt;tt&gt;static_cast&lt;/tt&gt; to perform conversions between non-polymorphic classes.&lt;/p&gt;&lt;p style=&quot;color: rgb(51, 51, 51); font-family: Verdana, Arial, sans-serif; font-size: small; font-weight: normal; line-height: 150%; text-align: left; margin-bottom: 10px; &quot;&gt;All of the derived-to-base conversions are performed using the static (compile-time) type information. These conversions may, therefore, be performed on both non-polymorphic and polymorphic types. These conversions will produce the same result if they are converted using a &lt;tt&gt;static_cast&lt;/tt&gt;. These conversions are fairly straightforward so we won&#039;t discuss them further.&lt;/p&gt;&lt;p style=&quot;color: rgb(51, 51, 51); font-family: Verdana, Arial, sans-serif; font-size: small; font-weight: normal; line-height: 150%; text-align: left; margin-bottom: 10px; &quot;&gt;Conversions down the hierarchy from base to derived, or across a class hierarchy, rely on run-time type information and can only be performed on polymorphic types. Such conversions can now be performed safely since &lt;tt&gt;dynamic_cast&lt;/tt&gt; will indicate whether the conversion is successful. When performing a &lt;tt&gt;dynamic_cast&lt;/tt&gt; on a pointer, a null pointer is returned when the cast is unsuccessful. When a reference is being cast, a &lt;tt&gt;Bad_cast&lt;/tt&gt; exception is thrown.&lt;/p&gt;&lt;p style=&quot;color: rgb(51, 51, 51); font-family: Verdana, Arial, sans-serif; font-size: small; font-weight: normal; line-height: 150%; text-align: left; margin-bottom: 10px; &quot;&gt;Let&#039;s look at the power of run-time type conversions by revisiting the bank account hierarchy introduced above with &lt;tt&gt;static_cast&lt;/tt&gt;. Recall that when &lt;tt&gt;acct&lt;/tt&gt; does not actually point to a &lt;tt&gt;SavingsAcct&lt;/tt&gt; object, the result of the &lt;tt&gt;static_cast&lt;/tt&gt; is undefined. Since &lt;tt&gt;BankAcct&lt;/tt&gt; has at least one virtual function, it is a polymorphic class. We can use a &lt;tt&gt;dynamic_cast&lt;/tt&gt;instead to check that the cast was successful:&lt;/p&gt;&lt;pre&gt;   void f (BankAcct* acct)
   {
      SavingsAcct* d1 =
         dynamic_cast&amp;lt;SavingsAcct*&gt;(acct);
      if (d1)
      {
         // d1 is a savings account
      }
   }
&lt;/pre&gt;&lt;p style=&quot;color: rgb(51, 51, 51); font-family: Verdana, Arial, sans-serif; font-size: small; font-weight: normal; line-height: 150%; text-align: left; margin-bottom: 10px; &quot;&gt;Let&#039;s expand our bank account hierarchy to include a few more types of accounts, such as a checking account and a money market account. Let&#039;s suppose we also want to extend the functionality so that we can credit the interest for all savings and money market accounts in our database. Suppose further that &lt;tt&gt;BankAcct&lt;/tt&gt; is part of a vendor library; we are not able to add any new members functions to &lt;tt&gt;BankAcct&lt;/tt&gt; since we do not have the source code.&lt;/p&gt;&lt;p style=&quot;color: rgb(51, 51, 51); font-family: Verdana, Arial, sans-serif; font-size: small; font-weight: normal; line-height: 150%; text-align: left; margin-bottom: 10px; &quot;&gt;Clearly, the best way to incorporate the needed functionality would be to add a virtual function, &lt;tt&gt;creditInterest()&lt;/tt&gt; to the base class, &lt;tt&gt;BankAcct&lt;/tt&gt;. But since we are not able to modify &lt;tt&gt;BankAcct&lt;/tt&gt;, we are unable to do this. Instead, we can employ a &lt;tt&gt;dynamic_cast&lt;/tt&gt; to help us.&lt;/p&gt;&lt;p style=&quot;color: rgb(51, 51, 51); font-family: Verdana, Arial, sans-serif; font-size: small; font-weight: normal; line-height: 150%; text-align: left; margin-bottom: 10px; &quot;&gt;We add the method &lt;tt&gt;creditInterest()&lt;/tt&gt; to both &lt;tt&gt;SavingsAcct&lt;/tt&gt; and &lt;tt&gt;MMAcct&lt;/tt&gt; classes. The resulting class hierarchy looks like:&lt;/p&gt;&lt;pre&gt;   class BankAcct    { /* ... */ }
   class SavingsAcct : public BankAcct
   {
   public:
     // ...
     void computeInterest();
   }
   class MMAcct : public BankAcct
   {
   public:
     // ...
     void computeInterest();
   }
&lt;/pre&gt;&lt;p style=&quot;color: rgb(51, 51, 51); font-family: Verdana, Arial, sans-serif; font-size: small; font-weight: normal; line-height: 150%; text-align: left; margin-bottom: 10px; &quot;&gt;We can now compute interest for an array of &lt;tt&gt;BankAcct*&lt;/tt&gt;s:&lt;/p&gt;&lt;pre&gt;   void DoInterest (BankAcct* a[],
                    int num_accts)
   {
     for (int i = 0; i &amp;lt; num_accts; i++)
     {
       // Check for savings
       SavingsAcct* sa =
       dynamic_cast&amp;lt;SavingsAcct*&gt;(accts[i]);
       if (sa)
       {
          sa-&gt;creditInterest();
       }

       MMAcct* mm =
       dynamic_cast&amp;lt;MMAcct*&gt;(accts[i]);
       if (mm)
       {
          mm-&gt;creditInterest();
       }
     }
   }
&lt;/pre&gt;&lt;p style=&quot;color: rgb(51, 51, 51); font-family: Verdana, Arial, sans-serif; font-size: small; font-weight: normal; line-height: 150%; text-align: left; margin-bottom: 10px; &quot;&gt;A &lt;tt&gt;dynamic_cast&lt;/tt&gt; will return a null pointer if the cast is not successful. So only if the pointer is of type &lt;tt&gt;SavingsAcct*&lt;/tt&gt; or &lt;tt&gt;MMAcct*&lt;/tt&gt; is interest credited. &lt;tt&gt;dynamic_cast&lt;/tt&gt; allows you to perform &lt;em&gt;safe&lt;/em&gt; type conversions and lets your programs take appropriate actions when such casts fail.&lt;/p&gt;&lt;p style=&quot;color: rgb(51, 51, 51); font-family: Verdana, Arial, sans-serif; font-size: small; font-weight: normal; line-height: 150%; text-align: left; margin-bottom: 10px; &quot;&gt;When a pointer is converted to a &lt;tt&gt;void*&lt;/tt&gt;, the resulting object points to the most derived object in the class hierarchy. This enables the object to be seen as raw memory. Meyers [&lt;a href=&quot;http://www.acm.org/crossroads/xrds3-1/ovp3-1.html#meyers96&quot;  style=&quot;text-decoration: underline; font-weight: bold; color: rgb(0, 0, 102); &quot;&gt;3&lt;/a&gt;] demonstrates how a cast to &lt;tt&gt;void*&lt;/tt&gt; can be used to determine if a particular object is on the heap.&lt;/p&gt;&lt;h3 style=&quot;margin-top: 0px; margin-right: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: rgb(0, 0, 0); font-family: &#039;Trebuchet MS&#039;, Verdana, sans-serif; font-size: medium; text-align: left; font-weight: bold; margin-bottom: 10px; &quot;&gt;&lt;a name=&quot;SECTION00024000000000000000&quot; id=&quot;SECTION00024000000000000000&quot; style=&quot;text-decoration: underline; font-weight: bold; &quot;&gt;The &lt;tt&gt;reinterpret_cast&lt;/tt&gt; Operator&lt;/a&gt;&lt;/h3&gt;&lt;p style=&quot;color: rgb(51, 51, 51); font-family: Verdana, Arial, sans-serif; font-size: small; font-weight: normal; line-height: 150%; text-align: left; margin-bottom: 10px; &quot;&gt;The &lt;tt&gt;reinterpret_cast&lt;/tt&gt; operator takes the form&lt;/p&gt;&lt;pre&gt;   reinterpret_cast&amp;lt;T&gt; (expr)
&lt;/pre&gt;&lt;p style=&quot;color: rgb(51, 51, 51); font-family: Verdana, Arial, sans-serif; font-size: small; font-weight: normal; line-height: 150%; text-align: left; margin-bottom: 10px; &quot;&gt;and is used to perform conversions between two unrelated types. The result of the conversion is usually implementation dependent and, therefore, not likely to be portable. You should use this type of cast only when absolutely necessary.&lt;/p&gt;&lt;p style=&quot;color: rgb(51, 51, 51); font-family: Verdana, Arial, sans-serif; font-size: small; font-weight: normal; line-height: 150%; text-align: left; margin-bottom: 10px; &quot;&gt;A &lt;tt&gt;reinterpret_cast&lt;/tt&gt; can also be used to convert a pointer to an integral type. If the integral type is then converted back to the same pointer type, the result will be the same value as the original pointer.&lt;/p&gt;&lt;p style=&quot;color: rgb(51, 51, 51); font-family: Verdana, Arial, sans-serif; font-size: small; font-weight: normal; line-height: 150%; text-align: left; margin-bottom: 10px; &quot;&gt;Meyers [&lt;a href=&quot;http://www.acm.org/crossroads/xrds3-1/ovp3-1.html#meyers96&quot;  style=&quot;text-decoration: underline; font-weight: bold; color: rgb(0, 0, 102); &quot;&gt;3&lt;/a&gt;] shows how &lt;tt&gt;reinterpret_cast&lt;/tt&gt;s can be used to cast between function pointer types.&lt;/p&gt;&lt;h2 style=&quot;margin-top: 0px; margin-right: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: rgb(0, 102, 153); font-family: &#039;Trebuchet MS&#039;, Verdana, sans-serif; font-size: medium; text-align: left; font-weight: bold; margin-bottom: 10px; &quot;&gt;&lt;a name=&quot;SECTION00030000000000000000&quot; id=&quot;SECTION00030000000000000000&quot; style=&quot;text-decoration: underline; font-weight: bold; &quot;&gt;Summary&lt;/a&gt;&lt;/h2&gt;&lt;p style=&quot;color: rgb(51, 51, 51); font-family: Verdana, Arial, sans-serif; font-size: small; font-weight: normal; line-height: 150%; text-align: left; margin-bottom: 10px; &quot;&gt;The new C++ cast operators enable you to develop programs which are easier to maintain and understand, and perform some conversions safely. Casts should not be taken lightly. As you convert your old C-style casts to use the new C++ casting operators, ask yourself if a cast is really needed there. It may be that you are using a class hierarchy in a way not originally intended or that you may be able to do the same thing with virtual functions.&lt;/p&gt;&lt;h2 style=&quot;margin-top: 0px; margin-right: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: rgb(0, 102, 153); font-family: &#039;Trebuchet MS&#039;, Verdana, sans-serif; font-size: medium; text-align: left; font-weight: bold; margin-bottom: 10px; &quot;&gt;&lt;a name=&quot;SECTIONREF&quot; id=&quot;SECTIONREF&quot; style=&quot;text-decoration: underline; font-weight: bold; &quot;&gt;References&lt;/a&gt;&lt;/h2&gt;&lt;dl&gt;&lt;dt&gt;&lt;a name=&quot;ellis90&quot; id=&quot;ellis90&quot; style=&quot;text-decoration: underline; font-weight: bold; &quot;&gt;&lt;strong&gt;1&lt;/strong&gt;&lt;/a&gt;&lt;/dt&gt;&lt;dd&gt;Ellis, M. A., and Stroustrup, B. &lt;a href=&quot;http://www.amazon.com/exec/obidos/ISBN=0201514591/acmcrossroadsstu&quot;  style=&quot;text-decoration: underline; font-weight: bold; color: rgb(0, 0, 102); &quot;&gt;&lt;em&gt;The Annotated C++ Reference Manual&lt;/em&gt;&lt;/a&gt;. Addison-Wesley, Reading, Mass., 1990.&lt;/dd&gt;&lt;dt&gt;&lt;a name=&quot;meyers92&quot; id=&quot;meyers92&quot; style=&quot;text-decoration: underline; font-weight: bold; &quot;&gt;&lt;strong&gt;2&lt;/strong&gt;&lt;/a&gt;&lt;/dt&gt;&lt;dd&gt;Meyers, S. &lt;a href=&quot;http://www.amazon.com/exec/obidos/ISBN=0201924889/acmcrossroadsstu&quot;  style=&quot;text-decoration: underline; font-weight: bold; color: rgb(0, 0, 102); &quot;&gt;&lt;em&gt;Effective C++: 50 Specific Ways to Improve Your Programs and Designs&lt;/em&gt;&lt;/a&gt;. Addison-Wesley, Reading, Mass., 1992.&lt;/dd&gt;&lt;dt&gt;&lt;a name=&quot;meyers96&quot; id=&quot;meyers96&quot; style=&quot;text-decoration: underline; font-weight: bold; &quot;&gt;&lt;strong&gt;3&lt;/strong&gt;&lt;/a&gt;&lt;/dt&gt;&lt;dd&gt;Meyers, S. &lt;a href=&quot;http://www.amazon.com/exec/obidos/ISBN=020163371X/acmcrossroadsstu&quot;  style=&quot;text-decoration: underline; font-weight: bold; color: rgb(0, 0, 102); &quot;&gt;&lt;em&gt;More Effective C++: 35 New Ways to Improve Your Programs and Designs&lt;/em&gt;&lt;/a&gt;. Addison-Wesley, Reading, Mass., 1996.&lt;/dd&gt;&lt;dt&gt;&lt;a name=&quot;stroustrup94&quot; id=&quot;stroustrup94&quot; style=&quot;text-decoration: underline; font-weight: bold; &quot;&gt;&lt;strong&gt;4&lt;/strong&gt;&lt;/a&gt;&lt;/dt&gt;&lt;dd&gt;Stroustrup, B. &lt;a href=&quot;http://www.amazon.com/exec/obidos/ISBN=0201543303/acmcrossroadsstu&quot;  style=&quot;text-decoration: underline; font-weight: bold; color: rgb(0, 0, 102); &quot;&gt;&lt;em&gt;The Design and Evolution of C++&lt;/em&gt;&lt;/a&gt;. Addison-Wesley, New York, 1994.&lt;/dd&gt;&lt;/dl&gt;&lt;/span&gt;&lt;fieldset style=&quot;margin:20px 0px 20px 0px;padding:5px;&quot;&gt;&lt;legend&gt;&lt;span&gt;&lt;strong&gt;크리에이티브 커먼즈 라이센스&lt;/strong&gt;&lt;/span&gt;&lt;/legend&gt;&lt;!--Creative Commons License--&gt;&lt;div style=&quot;float: left; width: 88px; margin-top: 3px;&quot;&gt;&lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; target=_blank&gt;&lt;img alt=&quot;Creative Commons License&quot; style=&quot;border-width: 0&quot; src=&quot;http://i.creativecommons.org/l/by-nc-sa/2.0/kr/88x31.png&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;margin-left: 92px; margin-top: 3px; text-align: justify;&quot;&gt;이 저작물은 &lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; target=_blank&gt;크리에이티브 커먼즈 코리아 저작자표시-비영리-동일조건변경허락 2.0 대한민국 라이센스&lt;/a&gt;에 따라 이용하실 수 있습니다.
			&lt;!-- Creative Commons License--&gt;
			&lt;!-- &lt;rdf:RDF xmlns=&quot;http://web.resource.org/cc/&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;&gt;
			&lt;Work rdf:about=&quot;&quot;&gt;
			&lt;license rdf:resource=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; /&gt;
			&lt;/Work&gt;
			&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-sa/&quot;&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Reproduction&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Distribution&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Notice&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Attribution&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/DerivativeWorks&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/ShareAlike&quot;/&gt;&lt;prohibits rdf:resource=&quot;http://web.resource.org/cc/CommercialUse&quot;/&gt;&lt;/License&gt;&lt;/rdf:RDF&gt; --&gt;&lt;/div&gt;&lt;/fieldset&gt;</description>
			<category>Programming</category>
			<category>C++</category>
			<category>Casting</category>
			<author>(소류)</author>
			<guid>http://soryu.net/75</guid>
			<comments>http://soryu.net/75#entry75comment</comments>
			<pubDate>Mon, 02 Feb 2009 10:19:46 +0900</pubDate>
		</item>
	</channel>
</rss>
