<?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[Namen der aktuellen Funktion erfahren]]></title><description><![CDATA[<p>Hallo,</p>
<p>ist es möglich, an einer bestimmten Stelle des Codes zu erfahren, in welcher Funktion man sich dort befindet? Hintergrund ist, dass ich in komplizierteren Funktionen normalerweise ein Flag <em>OUTPUT_DEBUG</em> definiere, mit dem ich Kontrollausgaben an und ausschalten kann. Wenn dieses Flag gesetzt ist, gebe ich zuerst einmal einen Header aus, der im wesentlichen den Namen der aktuellen Funktion enthält. Das sieht dann so aus:</p>
<pre><code class="language-cpp">void classification::calc_bps()
{
	const bool OUTPUT_DEBUG = 1;		
	ofstream* out_strm = output_streams::out_strm();	
	if (OUTPUT_DEBUG)
		output_streams::header_begin(out_strm, &quot;calc_bps&quot;);

	...
}
</code></pre>
<p>Ich hätte nun gerne statt</p>
<pre><code class="language-cpp">output_streams::header_begin(out_strm, &quot;calc_bps&quot;);
</code></pre>
<p>so was wie</p>
<pre><code class="language-cpp">output_streams::header_begin(out_strm, current_function_name());
</code></pre>
<p>Geht das irgendwie?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/208231/namen-der-aktuellen-funktion-erfahren</link><generator>RSS for Node</generator><lastBuildDate>Sun, 11 Oct 2026 18:29:59 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/208231.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 16 Mar 2008 16:03:03 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Namen der aktuellen Funktion erfahren on Sun, 16 Mar 2008 16:03:03 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ist es möglich, an einer bestimmten Stelle des Codes zu erfahren, in welcher Funktion man sich dort befindet? Hintergrund ist, dass ich in komplizierteren Funktionen normalerweise ein Flag <em>OUTPUT_DEBUG</em> definiere, mit dem ich Kontrollausgaben an und ausschalten kann. Wenn dieses Flag gesetzt ist, gebe ich zuerst einmal einen Header aus, der im wesentlichen den Namen der aktuellen Funktion enthält. Das sieht dann so aus:</p>
<pre><code class="language-cpp">void classification::calc_bps()
{
	const bool OUTPUT_DEBUG = 1;		
	ofstream* out_strm = output_streams::out_strm();	
	if (OUTPUT_DEBUG)
		output_streams::header_begin(out_strm, &quot;calc_bps&quot;);

	...
}
</code></pre>
<p>Ich hätte nun gerne statt</p>
<pre><code class="language-cpp">output_streams::header_begin(out_strm, &quot;calc_bps&quot;);
</code></pre>
<p>so was wie</p>
<pre><code class="language-cpp">output_streams::header_begin(out_strm, current_function_name());
</code></pre>
<p>Geht das irgendwie?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1475313</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1475313</guid><dc:creator><![CDATA[ingobulla]]></dc:creator><pubDate>Sun, 16 Mar 2008 16:03:03 GMT</pubDate></item><item><title><![CDATA[Reply to Namen der aktuellen Funktion erfahren on Sun, 16 Mar 2008 16:46:24 GMT]]></title><description><![CDATA[<p>Nach dem C++-Standard geht das nicht, aber der MSVC++-Compiler hat ein Makro __FUNCTION__ dafür. Kennt (leider) halt nicht jeder Compiler (evtl sogar <em>nur</em> der MS-Compiler).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1475330</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1475330</guid><dc:creator><![CDATA[Badestrand]]></dc:creator><pubDate>Sun, 16 Mar 2008 16:46:24 GMT</pubDate></item><item><title><![CDATA[Reply to Namen der aktuellen Funktion erfahren on Mon, 17 Mar 2008 08:11:15 GMT]]></title><description><![CDATA[<p>Danke, der GCC scheint das auch zu unterstützen.</p>
<p>Des Weiteren: Gibt es auch eine Möglichkeit die Klasse zu erfahren, zu der die aktuelle Funktion gehört?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1475611</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1475611</guid><dc:creator><![CDATA[ingobulla]]></dc:creator><pubDate>Mon, 17 Mar 2008 08:11:15 GMT</pubDate></item><item><title><![CDATA[Reply to Namen der aktuellen Funktion erfahren on Mon, 17 Mar 2008 08:20:15 GMT]]></title><description><![CDATA[<p>__FILE__ und __LINE__ sind eventuell noch nützlich und ANSI-kompatibel.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1475612</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1475612</guid><dc:creator><![CDATA[Fellhuhn]]></dc:creator><pubDate>Mon, 17 Mar 2008 08:20:15 GMT</pubDate></item><item><title><![CDATA[Reply to Namen der aktuellen Funktion erfahren on Mon, 17 Mar 2008 08:21:55 GMT]]></title><description><![CDATA[<p>Also für mich enthält <code>__FUNCTION__</code> auch die Klasse einer Methode...</p>
<p>greetz, Swordfish</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1475613</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1475613</guid><dc:creator><![CDATA[Swordfish]]></dc:creator><pubDate>Mon, 17 Mar 2008 08:21:55 GMT</pubDate></item><item><title><![CDATA[Reply to Namen der aktuellen Funktion erfahren on Mon, 17 Mar 2008 08:49:27 GMT]]></title><description><![CDATA[<p><a href="http://web.archive.org/web/20040209031039/http://oakroadsystems.com/tech/c-predef.htm#ident_" rel="nofollow">http://web.archive.org/web/20040209031039/http://oakroadsystems.com/tech/c-predef.htm#ident_</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1475623</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1475623</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Mon, 17 Mar 2008 08:49:27 GMT</pubDate></item><item><title><![CDATA[Reply to Namen der aktuellen Funktion erfahren on Mon, 17 Mar 2008 08:52:39 GMT]]></title><description><![CDATA[<p>Ich habe noch mal nachgeguckt und bei mir gibt __FUNCTION__ definitiv nur den Funktionsnamen und nicht auch den Klassennamen aus (ich benutze GCC).</p>
<p>Aber aus __FILE__ ergibt sich ja in aller Regel die Klasse.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1475626</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1475626</guid><dc:creator><![CDATA[ingobulla]]></dc:creator><pubDate>Mon, 17 Mar 2008 08:52:39 GMT</pubDate></item></channel></rss>