<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Warum crasht mein Countdown]]></title><description><![CDATA[<p>Ich wollte einen lustigen Countdown bauen, aber er crasht nach einer Weile.</p>
<pre><code>#include &lt;iostream&gt;
#include &lt;ctime&gt;

class Countdown
{
public:
	Countdown(int s)
	{	
		t = time(0)+s;
		this-&gt;s=s;
		delete this;
	}	

	operator bool() const
	{
		//std::cout &lt;&lt;s&lt;&lt; &quot;  \r&quot;;
		return s!=t-time(0) ? --s:s-s;
	}

	~Countdown()
	{
		if(*this)
			std::cout &lt;&lt;s&lt;&lt; &quot;  \r&quot;;

		switch(t-time(0))
		{
			default:		
				new Countdown(s);
			case 0:
				break;
		}
	}

private:
	time_t t;
	mutable int s;
};

int main()
{
	new Countdown(10);
}
</code></pre>
<p>Ich habe keinen Debugger zur Hand und kann jetzt nicht schauen. Wenn ich Zeile 16 einkommentiere läuft er länger. Könnte ja irgendwie ein Stacküberlauf sein, aber wo? Ich verwende doch new. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/312294/warum-crasht-mein-countdown</link><generator>RSS for Node</generator><lastBuildDate>Sun, 02 Aug 2026 20:35:54 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/312294.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 31 Dec 2012 17:20:57 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Warum crasht mein Countdown on Mon, 31 Dec 2012 17:20:57 GMT]]></title><description><![CDATA[<p>Ich wollte einen lustigen Countdown bauen, aber er crasht nach einer Weile.</p>
<pre><code>#include &lt;iostream&gt;
#include &lt;ctime&gt;

class Countdown
{
public:
	Countdown(int s)
	{	
		t = time(0)+s;
		this-&gt;s=s;
		delete this;
	}	

	operator bool() const
	{
		//std::cout &lt;&lt;s&lt;&lt; &quot;  \r&quot;;
		return s!=t-time(0) ? --s:s-s;
	}

	~Countdown()
	{
		if(*this)
			std::cout &lt;&lt;s&lt;&lt; &quot;  \r&quot;;

		switch(t-time(0))
		{
			default:		
				new Countdown(s);
			case 0:
				break;
		}
	}

private:
	time_t t;
	mutable int s;
};

int main()
{
	new Countdown(10);
}
</code></pre>
<p>Ich habe keinen Debugger zur Hand und kann jetzt nicht schauen. Wenn ich Zeile 16 einkommentiere läuft er länger. Könnte ja irgendwie ein Stacküberlauf sein, aber wo? Ich verwende doch new. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2284858</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2284858</guid><dc:creator><![CDATA[sülfester]]></dc:creator><pubDate>Mon, 31 Dec 2012 17:20:57 GMT</pubDate></item><item><title><![CDATA[Reply to Warum crasht mein Countdown on Mon, 31 Dec 2012 17:56:22 GMT]]></title><description><![CDATA[<p>wtf?</p>
<p>sorry, musste sein. außerdem bin ich betrunken.<br />
dieser code ist einfach ... WTF?!?!?!!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2284872</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2284872</guid><dc:creator><![CDATA[besoffski]]></dc:creator><pubDate>Mon, 31 Dec 2012 17:56:22 GMT</pubDate></item><item><title><![CDATA[Reply to Warum crasht mein Countdown on Mon, 31 Dec 2012 18:47:53 GMT]]></title><description><![CDATA[<p>besoffski schrieb:</p>
<blockquote>
<p>außerdem bin ich betrunken.</p>
</blockquote>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2284891</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2284891</guid><dc:creator><![CDATA[ex]]></dc:creator><pubDate>Mon, 31 Dec 2012 18:47:53 GMT</pubDate></item><item><title><![CDATA[Reply to Warum crasht mein Countdown on Mon, 31 Dec 2012 20:56:26 GMT]]></title><description><![CDATA[<p>Interessanter Countdown... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /></p>
<p>Spontan könnte es einen Stacküberlauf geben, da du im Konstruktor den Destruktor aufrufst und im Destruktor wieder den Konstruktor. Ich schau mir das gleich noch mal in einem Debugger an.</p>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2284908</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2284908</guid><dc:creator><![CDATA[ntldr]]></dc:creator><pubDate>Mon, 31 Dec 2012 20:56:26 GMT</pubDate></item><item><title><![CDATA[Reply to Warum crasht mein Countdown on Mon, 31 Dec 2012 20:59:01 GMT]]></title><description><![CDATA[<p>Jap, im Konstruktor wird der Destruktor aufgerufen und umgekehrt. Solange bis der Stack irgendwann mal voll ist. :xmas1:</p>
<pre><code>LInterface.exe!Countdown::~Countdown() Line 45	C++
 	LInterface.exe!Countdown::`scalar deleting destructor'(unsigned int)	C++
 	LInterface.exe!Countdown::Countdown(int s) Line 28	C++
 	LInterface.exe!Countdown::~Countdown() Line 45	C++
 	LInterface.exe!Countdown::`scalar deleting destructor'(unsigned int)	C++
 	LInterface.exe!Countdown::Countdown(int s) Line 28	C++
 	LInterface.exe!Countdown::~Countdown() Line 45	C++
 	LInterface.exe!Countdown::`scalar deleting destructor'(unsigned int)	
...
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2284909</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2284909</guid><dc:creator><![CDATA[ntldr]]></dc:creator><pubDate>Mon, 31 Dec 2012 20:59:01 GMT</pubDate></item><item><title><![CDATA[Reply to Warum crasht mein Countdown on Mon, 31 Dec 2012 22:31:05 GMT]]></title><description><![CDATA[<pre><code>#include &lt;iostream&gt;
#include &lt;ctime&gt;

class Countdown
{
public:
	Countdown(int s)
	{	
		t = time(0)+s;
		this-&gt;s=s;
		delete this;
	}	

	Countdown(Countdown const&amp; o)
	{
		s=o.s;
		t=o.t;
		delete this;
	}

	operator bool() const
	{
		return s!=t-time(0) ? --s+1:s-s;
	}

	~Countdown()
	{
		if(*this)
			std::cout &lt;&lt;s&lt;&lt; &quot;   \r&quot;;

		switch(*this)
		{
			while(s)
			{
				if(s==t-time(0))
					continue;
				default:
					if (s!=t-time(0)&amp;&amp;s) new Countdown(*this);
					continue;
				case 1:
					return;
			}
		}
	}

private:
	time_t t;
	mutable int s;
};

int main()
{
	new Countdown(11);
}
</code></pre>
<p>Crasht nicht mehr, aber irgendwas hat mit der Abbruchbedingung nicht hin.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2284929</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2284929</guid><dc:creator><![CDATA[sülfester]]></dc:creator><pubDate>Mon, 31 Dec 2012 22:31:05 GMT</pubDate></item><item><title><![CDATA[Reply to Warum crasht mein Countdown on Mon, 31 Dec 2012 22:39:18 GMT]]></title><description><![CDATA[<p>Beeilt euch Leute! Muss in 20 Minuten fertig sein.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2284931</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2284931</guid><dc:creator><![CDATA[bitte!!!!]]></dc:creator><pubDate>Mon, 31 Dec 2012 22:39:18 GMT</pubDate></item><item><title><![CDATA[Reply to Warum crasht mein Countdown on Mon, 31 Dec 2012 22:42:47 GMT]]></title><description><![CDATA[<p><a href="http://www.webcountdown.de/?c=1356998400" rel="nofollow">http://www.webcountdown.de/?c=1356998400</a><br />
:xmas2:</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2284932</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2284932</guid><dc:creator><![CDATA[Kellerautomat]]></dc:creator><pubDate>Mon, 31 Dec 2012 22:42:47 GMT</pubDate></item><item><title><![CDATA[Reply to Warum crasht mein Countdown on Mon, 31 Dec 2012 22:54:37 GMT]]></title><description><![CDATA[<p>Kellerautomat schrieb:</p>
<blockquote>
<p><a href="http://www.webcountdown.de/?c=1356998400" rel="nofollow">http://www.webcountdown.de/?c=1356998400</a><br />
:xmas2:</p>
</blockquote>
<p>Haha, Seite down!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2284937</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2284937</guid><dc:creator><![CDATA[overload]]></dc:creator><pubDate>Mon, 31 Dec 2012 22:54:37 GMT</pubDate></item><item><title><![CDATA[Reply to Warum crasht mein Countdown on Tue, 01 Jan 2013 00:16:14 GMT]]></title><description><![CDATA[<p>Mit solchen Programmen geht die Welt echt noch unter.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2284944</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2284944</guid><dc:creator><![CDATA[Mechanics]]></dc:creator><pubDate>Tue, 01 Jan 2013 00:16:14 GMT</pubDate></item><item><title><![CDATA[Reply to Warum crasht mein Countdown on Tue, 01 Jan 2013 00:37:27 GMT]]></title><description><![CDATA[<p>@ sülfester<br />
da hast du wohl was falsch gemacht</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2284947</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2284947</guid><dc:creator><![CDATA[du lump]]></dc:creator><pubDate>Tue, 01 Jan 2013 00:37:27 GMT</pubDate></item></channel></rss>