<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments for Piko3D</title>
	<atom:link href="http://www.piko3d.com/?feed=comments-rss2" rel="self" type="application/rss+xml" />
	<link>http://www.piko3d.com</link>
	<description>Straight forward little 3D engine</description>
	<lastBuildDate>Sun, 27 Jun 2010 14:14:38 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
	<item>
		<title>Comment on libPNG Tutorial: Loading PNG files from streams by Michael</title>
		<link>http://www.piko3d.com/?page_id=68&#038;cpage=2#comment-949</link>
		<dc:creator>Michael</dc:creator>
		<pubDate>Sun, 27 Jun 2010 14:14:38 +0000</pubDate>
		<guid isPermaLink="false">http://www.piko3d.com/?page_id=68#comment-949</guid>
		<description>Thanks for this tutorial, it&#039;s been of great value!</description>
		<content:encoded><![CDATA[<p>Thanks for this tutorial, it&#8217;s been of great value!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Tutorial: Placement New Operator by Wracky</title>
		<link>http://www.piko3d.com/?page_id=156&#038;cpage=1#comment-513</link>
		<dc:creator>Wracky</dc:creator>
		<pubDate>Sun, 30 May 2010 10:34:53 +0000</pubDate>
		<guid isPermaLink="false">http://www.piko3d.com/?page_id=156#comment-513</guid>
		<description>Hi and thanks for your comment!
As far as I am aware, there is no other way to solve this problem (if you find one, let me know ;-)) Implementations that use the placement new operator, like the STL container classes (std::vector&lt;&gt; for example) use this exact method.

It&#039;s good to know what&#039;s good coding practice, what&#039;s not, and why it isn&#039;t... but part of the beauty of C++ is, that it will LET YOU if you REQUIRE such actions.

Calling the default destructor directly does not remove the object from the heap. It just makes sure the object&#039;s destructor code is run. The actual deallocation of heap memory is up to you. In this example I&#039;ve allocated the memory block with a simple &quot;malloc&quot; which means I can only deallocate it by calling &quot;free&quot; on the complete block. Other actions will cause heap-corruption.

As I said in the beginning, it&#039;s a more advanced topic... there&#039;s a lot that can go wrong here :)

I&#039;ve corrected some character problems caused by wordpress. The sample code should compile now, and you can use it to make your own Foo class and see the destructor get called.

Good luck! :-)</description>
		<content:encoded><![CDATA[<p>Hi and thanks for your comment!<br />
As far as I am aware, there is no other way to solve this problem (if you find one, let me know <img src='http://www.piko3d.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> ) Implementations that use the placement new operator, like the STL container classes (std::vector<> for example) use this exact method.</p>
<p>It&#8217;s good to know what&#8217;s good coding practice, what&#8217;s not, and why it isn&#8217;t&#8230; but part of the beauty of C++ is, that it will LET YOU if you REQUIRE such actions.</p>
<p>Calling the default destructor directly does not remove the object from the heap. It just makes sure the object&#8217;s destructor code is run. The actual deallocation of heap memory is up to you. In this example I&#8217;ve allocated the memory block with a simple &#8220;malloc&#8221; which means I can only deallocate it by calling &#8220;free&#8221; on the complete block. Other actions will cause heap-corruption.</p>
<p>As I said in the beginning, it&#8217;s a more advanced topic&#8230; there&#8217;s a lot that can go wrong here <img src='http://www.piko3d.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>I&#8217;ve corrected some character problems caused by wordpress. The sample code should compile now, and you can use it to make your own Foo class and see the destructor get called.</p>
<p>Good luck! <img src='http://www.piko3d.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Tutorial: Placement New Operator by huahsin68</title>
		<link>http://www.piko3d.com/?page_id=156&#038;cpage=1#comment-512</link>
		<dc:creator>huahsin68</dc:creator>
		<pubDate>Sun, 30 May 2010 05:39:52 +0000</pubDate>
		<guid isPermaLink="false">http://www.piko3d.com/?page_id=156#comment-512</guid>
		<description>Hi,

According to C++ practice, it is not good to explicitly call destructor directly. Do you have alternate solution to remove the object from the heap? BTW, do you have a sample code to show that the deletion of object is working?

THanks @!</description>
		<content:encoded><![CDATA[<p>Hi,</p>
<p>According to C++ practice, it is not good to explicitly call destructor directly. Do you have alternate solution to remove the object from the heap? BTW, do you have a sample code to show that the deletion of object is working?</p>
<p>THanks @!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Time scaling in Piko3D with ODE physics (video) by Gaffer</title>
		<link>http://www.piko3d.com/?p=273&#038;cpage=1#comment-368</link>
		<dc:creator>Gaffer</dc:creator>
		<pubDate>Fri, 30 Apr 2010 04:45:24 +0000</pubDate>
		<guid isPermaLink="false">http://www.piko3d.com/?p=273#comment-368</guid>
		<description>Very very nice!</description>
		<content:encoded><![CDATA[<p>Very very nice!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on libPNG Tutorial: Loading PNG files from streams by Ra</title>
		<link>http://www.piko3d.com/?page_id=68&#038;cpage=2#comment-288</link>
		<dc:creator>Ra</dc:creator>
		<pubDate>Fri, 02 Apr 2010 23:42:57 +0000</pubDate>
		<guid isPermaLink="false">http://www.piko3d.com/?page_id=68#comment-288</guid>
		<description>Thanks and congratulations for this great tutorial! Salud!</description>
		<content:encoded><![CDATA[<p>Thanks and congratulations for this great tutorial! Salud!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on libPNG Tutorial: Loading PNG files from streams by Wracky</title>
		<link>http://www.piko3d.com/?page_id=68&#038;cpage=1#comment-229</link>
		<dc:creator>Wracky</dc:creator>
		<pubDate>Wed, 17 Mar 2010 20:41:30 +0000</pubDate>
		<guid isPermaLink="false">http://www.piko3d.com/?page_id=68#comment-229</guid>
		<description>Thanks for noticing! You&#039;re the first to notice it out of the 2.400+ people that have viewed the tutorial so far :D I&#039;ve made a test case and it would indeed crash. I&#039;ve updated the tutorial. Thanks again!!</description>
		<content:encoded><![CDATA[<p>Thanks for noticing! You&#8217;re the first to notice it out of the 2.400+ people that have viewed the tutorial so far <img src='http://www.piko3d.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' />  I&#8217;ve made a test case and it would indeed crash. I&#8217;ve updated the tutorial. Thanks again!!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on libPNG Tutorial: Loading PNG files from streams by Tom</title>
		<link>http://www.piko3d.com/?page_id=68&#038;cpage=1#comment-225</link>
		<dc:creator>Tom</dc:creator>
		<pubDate>Mon, 15 Mar 2010 22:34:03 +0000</pubDate>
		<guid isPermaLink="false">http://www.piko3d.com/?page_id=68#comment-225</guid>
		<description>I&#039;m not sure, but you use all those filters to change bit depths and stuff, and you still use the old depths and everything for you arrays. Shouldn&#039;t you update these values as well?</description>
		<content:encoded><![CDATA[<p>I&#8217;m not sure, but you use all those filters to change bit depths and stuff, and you still use the old depths and everything for you arrays. Shouldn&#8217;t you update these values as well?</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on libPNG Tutorial: Loading PNG files from streams by Wracky</title>
		<link>http://www.piko3d.com/?page_id=68&#038;cpage=1#comment-211</link>
		<dc:creator>Wracky</dc:creator>
		<pubDate>Thu, 11 Mar 2010 22:39:36 +0000</pubDate>
		<guid isPermaLink="false">http://www.piko3d.com/?page_id=68#comment-211</guid>
		<description>yeah you are right...I know its not the best option. I think i&#039;ll spend some more time on this later and change the tutorial to use the callbacks for error handling. Thanks for the reply!</description>
		<content:encoded><![CDATA[<p>yeah you are right&#8230;I know its not the best option. I think i&#8217;ll spend some more time on this later and change the tutorial to use the callbacks for error handling. Thanks for the reply!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on libPNG Tutorial: Loading PNG files from streams by xlq</title>
		<link>http://www.piko3d.com/?page_id=68&#038;cpage=1#comment-210</link>
		<dc:creator>xlq</dc:creator>
		<pubDate>Thu, 11 Mar 2010 21:46:47 +0000</pubDate>
		<guid isPermaLink="false">http://www.piko3d.com/?page_id=68#comment-210</guid>
		<description>Watch out for setjmp/longjmp and C++. If you&#039;re using function-scope non-pod objects and you&#039;re not careful, libpng could longjmp over some destructor calls and leak memory/cause undefined behaviour. Also, if something throws an exception in there, such as new, you&#039;ll leak all your buffers and PNG structures.</description>
		<content:encoded><![CDATA[<p>Watch out for setjmp/longjmp and C++. If you&#8217;re using function-scope non-pod objects and you&#8217;re not careful, libpng could longjmp over some destructor calls and leak memory/cause undefined behaviour. Also, if something throws an exception in there, such as new, you&#8217;ll leak all your buffers and PNG structures.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on libPNG Tutorial: Loading PNG files from streams by DPurple</title>
		<link>http://www.piko3d.com/?page_id=68&#038;cpage=1#comment-171</link>
		<dc:creator>DPurple</dc:creator>
		<pubDate>Sat, 20 Feb 2010 05:43:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.piko3d.com/?page_id=68#comment-171</guid>
		<description>Great tutorial, helped me a lot!
thanks!</description>
		<content:encoded><![CDATA[<p>Great tutorial, helped me a lot!<br />
thanks!</p>
]]></content:encoded>
	</item>
</channel>
</rss>
