﻿﻿<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Comment programmer avec Qt c++ &#187; delete</title>
	<atom:link href="http://comment-apprendre.com/qt-cpp/category/delete/feed" rel="self" type="application/rss+xml" />
	<link>http://comment-apprendre.com/qt-cpp</link>
	<description>Utiliser Qt - Ce que j&#039;ai appris</description>
	<lastBuildDate>Fri, 06 Jul 2012 16:11:12 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1</generator>
		<item>
		<title>Comment bien détruire avec Qt</title>
		<link>http://comment-apprendre.com/qt-cpp/comment-bien-detruire-avec-qt/qt-cpp</link>
		<comments>http://comment-apprendre.com/qt-cpp/comment-bien-detruire-avec-qt/qt-cpp#comments</comments>
		<pubDate>Tue, 27 Sep 2011 00:43:18 +0000</pubDate>
		<dc:creator>qt-programmer</dc:creator>
				<category><![CDATA[delete]]></category>
		<category><![CDATA[QPointer]]></category>
		<category><![CDATA[Qt c++]]></category>

		<guid isPermaLink="false">http://comment-apprendre.com/qt-cpp/?p=36</guid>
		<description><![CDATA[Vous le savez, gérer la mémoire avec c++ demande une certaine vigilance. En effet, il faut penser à faire un &#8220;delete&#8221; quand on fait un &#8220;new&#8221;. Par contre avec Qt, une grosse partie a déjà été faite pour vous. Si vous donnez un parent à un objet, quand le parent sera détruit, l&#8217;enfant le sera<a href="http://comment-apprendre.com/qt-cpp/comment-bien-detruire-avec-qt/qt-cpp">&#160;&#160;[ Lire plus ]</a>]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fcomment-apprendre.com%2Fqt-cpp%2Fcomment-bien-detruire-avec-qt%2Fqt-cpp"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fcomment-apprendre.com%2Fqt-cpp%2Fcomment-bien-detruire-avec-qt%2Fqt-cpp&amp;source=MartinGamsby&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>Vous le savez, gérer la mémoire avec c++ demande une certaine vigilance.</p>
<p>En effet, il faut penser à faire un &#8220;delete&#8221; quand on fait un &#8220;new&#8221;.</p>
<p>Par contre avec Qt, une grosse partie a déjà été faite pour vous. Si vous donnez un parent à un objet, quand le parent sera détruit, l&#8217;enfant le sera aussi !</p>
<p>Donc, si vous donnez comme parent un object qui est géré par Qt à tout ce que vous créez, plus besoin d&#8217;y penser. Bien entendu il y a des exceptions, mais dans ces cas là, on y pense, à notre &#8220;delete&#8221;, et ça peut causer quelques maux de tête &#8230;</p>
<p>Justement parlant d&#8217;exceptions qui donnent mal à la tête, Qt y a pensé aussi.</p>
<p>Si vous voulez partager un pointeur dans différentes classes, mais que vous ne savez pas qui doit le détruire, vous ne savez pas si l&#8217;objet est créé, s&#8217;il a été détruit par Qt par inadvertance &#8230;</p>
<p>Qu&#8217;à cela ne tienne ! Qt a créé une classe QPointer, qui garde un pointeur, et il peut être utilisé comme un pointeur &#8230; à la seule exception près que si l&#8217;objet pointé est détruit, QPointer retourne NULL, ce qui peut être très pratique.</p>
<p>Mais ce n&#8217;est pas tout, Qt a aussi ajouté une fonctionnalité fort utile aux objets: deleteLater().</p>
<p>Parce que parfois, on veut détruire un objet qui a appelé la fonction qui détruit cet objet &#8230; ou en tout cas, un truc qui peut être complexe. Eh bien deleteLater() va détruire l&#8217;objet seulement quand tous les évènements qu&#8217;il est présentement en train de faire seront terminés.</p>
<p>C&#8217;est déjà pas mal pour la gestion de la destruction des objets &#8230; mais il existe aussi d&#8217;autres fonctions fort utiles, comme qDeleteAll(), qui détruit tous les objets contenus dans une liste.</p>
]]></content:encoded>
			<wfw:commentRss>http://comment-apprendre.com/qt-cpp/comment-bien-detruire-avec-qt/qt-cpp/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
