<?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>Comentarios en: Metaprogramación en C++ con macros</title>
	<atom:link href="http://www.pplux.com/2006/04/24/metaprogramacion-en-c-con-macros/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.pplux.com/2006/04/24/metaprogramacion-en-c-con-macros/</link>
	<description>PpluX &#039;s blog</description>
	<lastBuildDate>Sat, 17 Apr 2010 17:00:18 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>Por: PpluX</title>
		<link>http://www.pplux.com/2006/04/24/metaprogramacion-en-c-con-macros/comment-page-1/#comment-5231</link>
		<dc:creator>PpluX</dc:creator>
		<pubDate>Thu, 12 Feb 2009 11:01:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.pplux.com/2006/04/24/metaprogramacion-en-c-con-macros/#comment-5231</guid>
		<description>Hola @Fran, 
  Yo creo que si haces algo como en la macro suma poner el nombre de la función como int suma##N :


#define NAME(X) suma_##X()

int NAME(5) 
{
	//
}

int NAME(3)
{
	//
}
</description>
		<content:encoded><![CDATA[<p>Hola @Fran,<br />
  Yo creo que si haces algo como en la macro suma poner el nombre de la función como int suma##N :</p>
<p>#define NAME(X) suma_##X()</p>
<p>int NAME(5)<br />
{<br />
	//<br />
}</p>
<p>int NAME(3)<br />
{<br />
	//<br />
}</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: PpluX</title>
		<link>http://www.pplux.com/2006/04/24/metaprogramacion-en-c-con-macros/comment-page-1/#comment-5230</link>
		<dc:creator>PpluX</dc:creator>
		<pubDate>Thu, 12 Feb 2009 10:53:59 +0000</pubDate>
		<guid isPermaLink="false">http://www.pplux.com/2006/04/24/metaprogramacion-en-c-con-macros/#comment-5230</guid>
		<description>Hola @Lara, una variable auxiliar? me parece que a nivel de macro nope, otra cosa es que la variable auxiliar la quieras en C y entonces sí la puedas generar.</description>
		<content:encoded><![CDATA[<p>Hola @Lara, una variable auxiliar? me parece que a nivel de macro nope, otra cosa es que la variable auxiliar la quieras en C y entonces sí la puedas generar.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Lara</title>
		<link>http://www.pplux.com/2006/04/24/metaprogramacion-en-c-con-macros/comment-page-1/#comment-5213</link>
		<dc:creator>Lara</dc:creator>
		<pubDate>Tue, 10 Feb 2009 23:45:12 +0000</pubDate>
		<guid isPermaLink="false">http://www.pplux.com/2006/04/24/metaprogramacion-en-c-con-macros/#comment-5213</guid>
		<description>hola! es posible tener una variable auxiliar dentro de la macro?
saludos,Lara</description>
		<content:encoded><![CDATA[<p>hola! es posible tener una variable auxiliar dentro de la macro?<br />
saludos,Lara</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Fran</title>
		<link>http://www.pplux.com/2006/04/24/metaprogramacion-en-c-con-macros/comment-page-1/#comment-5149</link>
		<dc:creator>Fran</dc:creator>
		<pubDate>Tue, 13 Jan 2009 11:19:13 +0000</pubDate>
		<guid isPermaLink="false">http://www.pplux.com/2006/04/24/metaprogramacion-en-c-con-macros/#comment-5149</guid>
		<description>Hola, muy bueno el bolg ;)

Quería plantearte una duda. Es posible que una macro genere nombres de funcion diferentes según los parámetros que le pasemos a la macro?

He de hacer un ejercicio donde una macro genere 100 funciones tal que así: imprimir_0_1(); imprimir_0_2()... hasta imprimir_9_9(); y la macro es NUM(x,y), pero claro he probado varias formas y no me deja que hacerlo...

A ver si es posible.

Un saludo y gracias ;)</description>
		<content:encoded><![CDATA[<p>Hola, muy bueno el bolg <img src='http://www.pplux.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Quería plantearte una duda. Es posible que una macro genere nombres de funcion diferentes según los parámetros que le pasemos a la macro?</p>
<p>He de hacer un ejercicio donde una macro genere 100 funciones tal que así: imprimir_0_1(); imprimir_0_2()&#8230; hasta imprimir_9_9(); y la macro es NUM(x,y), pero claro he probado varias formas y no me deja que hacerlo&#8230;</p>
<p>A ver si es posible.</p>
<p>Un saludo y gracias <img src='http://www.pplux.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: PpluX</title>
		<link>http://www.pplux.com/2006/04/24/metaprogramacion-en-c-con-macros/comment-page-1/#comment-4922</link>
		<dc:creator>PpluX</dc:creator>
		<pubDate>Sat, 11 Oct 2008 13:33:35 +0000</pubDate>
		<guid isPermaLink="false">http://www.pplux.com/2006/04/24/metaprogramacion-en-c-con-macros/#comment-4922</guid>
		<description>He cambiado el link, hacia unos dos años de la entrada y no estaba actualizado 

http://svn.pplux.com/SLB/trunk/include/SLB/SPP.hpp</description>
		<content:encoded><![CDATA[<p>He cambiado el link, hacia unos dos años de la entrada y no estaba actualizado </p>
<p><a href="http://svn.pplux.com/SLB/trunk/include/SLB/SPP.hpp" rel="nofollow">http://svn.pplux.com/SLB/trunk/include/SLB/SPP.hpp</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: jale</title>
		<link>http://www.pplux.com/2006/04/24/metaprogramacion-en-c-con-macros/comment-page-1/#comment-4918</link>
		<dc:creator>jale</dc:creator>
		<pubDate>Fri, 10 Oct 2008 21:01:55 +0000</pubDate>
		<guid isPermaLink="false">http://www.pplux.com/2006/04/24/metaprogramacion-en-c-con-macros/#comment-4918</guid>
		<description>Hola,

No tengo ni idea de como hacer una macro de este estilo SPP_ENUM_D(N,item), puedes poner el código de esta librerí SPP accesible?


gracias</description>
		<content:encoded><![CDATA[<p>Hola,</p>
<p>No tengo ni idea de como hacer una macro de este estilo SPP_ENUM_D(N,item), puedes poner el código de esta librerí SPP accesible?</p>
<p>gracias</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: elvis</title>
		<link>http://www.pplux.com/2006/04/24/metaprogramacion-en-c-con-macros/comment-page-1/#comment-4875</link>
		<dc:creator>elvis</dc:creator>
		<pubDate>Thu, 02 Oct 2008 04:34:58 +0000</pubDate>
		<guid isPermaLink="false">http://www.pplux.com/2006/04/24/metaprogramacion-en-c-con-macros/#comment-4875</guid>
		<description>hola ante todo saludos! 

no soy programador cuando vi por accidente tu blog me intereso el tema y busque informacion del lenguaje c y esas cosas   desde mi punto de vista &quot; aunque es buena la idea de hacerlo como lo planteas&quot; tu solucion presenta varios problemas practicos entre ellos debes declarar previmente los posibles casos que aplican y no le das cierto grado de independencia al programa en mi caso empece por tratar de evitar hacer un funcion como lo hace en el archivo adicional .h y con un simple #define suma(a, b)	a + b &quot;en el caso de querer sumar&quot;y aplicarlo como una funcion cualquiera ya puedes sumar y asi para (a + b + c .....) y asi con multiplicaciones y varias cosas que hice para demostrarmelo incluso complicando un poco el asunto puede utilizar asignacion dinamica para hacerlo o  utilizar otras definiciones para realizar un macro realmente complejo aunque muy funcional. Con lo cual se confirma lo que dices de la dificutad de mantenerlo. lo otro es que de esta forma te evitas tener que ver en otro archivo una funcion super larga que no comprenderias a la larga! si quieres hacerlo modular lo pueder hacer en otro archivo pero ahorrando linea de codigo...</description>
		<content:encoded><![CDATA[<p>hola ante todo saludos! </p>
<p>no soy programador cuando vi por accidente tu blog me intereso el tema y busque informacion del lenguaje c y esas cosas   desde mi punto de vista &#8221; aunque es buena la idea de hacerlo como lo planteas&#8221; tu solucion presenta varios problemas practicos entre ellos debes declarar previmente los posibles casos que aplican y no le das cierto grado de independencia al programa en mi caso empece por tratar de evitar hacer un funcion como lo hace en el archivo adicional .h y con un simple #define suma(a, b)	a + b &#8220;en el caso de querer sumar&#8221;y aplicarlo como una funcion cualquiera ya puedes sumar y asi para (a + b + c &#8230;..) y asi con multiplicaciones y varias cosas que hice para demostrarmelo incluso complicando un poco el asunto puede utilizar asignacion dinamica para hacerlo o  utilizar otras definiciones para realizar un macro realmente complejo aunque muy funcional. Con lo cual se confirma lo que dices de la dificutad de mantenerlo. lo otro es que de esta forma te evitas tener que ver en otro archivo una funcion super larga que no comprenderias a la larga! si quieres hacerlo modular lo pueder hacer en otro archivo pero ahorrando linea de codigo&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: pplux</title>
		<link>http://www.pplux.com/2006/04/24/metaprogramacion-en-c-con-macros/comment-page-1/#comment-4071</link>
		<dc:creator>pplux</dc:creator>
		<pubDate>Tue, 05 Feb 2008 21:31:28 +0000</pubDate>
		<guid isPermaLink="false">http://www.pplux.com/2006/04/24/metaprogramacion-en-c-con-macros/#comment-4071</guid>
		<description>Hola Alberto, 
  Sí claro, el ejemplo tiene como fin ser ilustrativo, nada más. Sería una aberración usar esto tal cual para &quot;sumar&quot;.

Yo lo uso únicamente para generalizar el número de parámetros de las plantillas, ya que estas generalizan bien el tipo pero no en número. Por ejmplo, para escribir wrappers de métodos y funciones las plantillas son ideales ya que por matching y especialización uno puede generar automáticamente código específico para una funcion dada de tipos desconocidos pero con número concreto de parámetros. Para generalizar el número en este caso sólo hay, hasta donde yo se, trucos con el preprocesador como este.</description>
		<content:encoded><![CDATA[<p>Hola Alberto,<br />
  Sí claro, el ejemplo tiene como fin ser ilustrativo, nada más. Sería una aberración usar esto tal cual para &#8220;sumar&#8221;.</p>
<p>Yo lo uso únicamente para generalizar el número de parámetros de las plantillas, ya que estas generalizan bien el tipo pero no en número. Por ejmplo, para escribir wrappers de métodos y funciones las plantillas son ideales ya que por matching y especialización uno puede generar automáticamente código específico para una funcion dada de tipos desconocidos pero con número concreto de parámetros. Para generalizar el número en este caso sólo hay, hasta donde yo se, trucos con el preprocesador como este.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

