A<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://cppe.ru/index.php?action=history&amp;feed=atom&amp;title=C%2B%2B_Tutorial%2FDevelopment%2Fdefine</id>
		<title>C++ Tutorial/Development/define - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://cppe.ru/index.php?action=history&amp;feed=atom&amp;title=C%2B%2B_Tutorial%2FDevelopment%2Fdefine"/>
		<link rel="alternate" type="text/html" href="http://cppe.ru/index.php?title=C%2B%2B_Tutorial/Development/define&amp;action=history"/>
		<updated>2026-04-10T18:51:30Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://cppe.ru/index.php?title=C%2B%2B_Tutorial/Development/define&amp;diff=2119&amp;oldid=prev</id>
		<title> в 14:21, 25 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://cppe.ru/index.php?title=C%2B%2B_Tutorial/Development/define&amp;diff=2119&amp;oldid=prev"/>
				<updated>2010-05-25T14:21:17Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 14:21, 25 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
			</entry>

	<entry>
		<id>http://cppe.ru/index.php?title=C%2B%2B_Tutorial/Development/define&amp;diff=2120&amp;oldid=prev</id>
		<title>Admin: 1 версия:&amp;#32;Импорт контента...</title>
		<link rel="alternate" type="text/html" href="http://cppe.ru/index.php?title=C%2B%2B_Tutorial/Development/define&amp;diff=2120&amp;oldid=prev"/>
				<updated>2010-05-25T10:28:54Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия: Импорт контента...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==A simple assert() macro.==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;#define DEBUG&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
#ifndef DEBUG&lt;br /&gt;
   #define ASSERT(x)&lt;br /&gt;
#else&lt;br /&gt;
   #define ASSERT(x) \&lt;br /&gt;
            if (! (x)) \&lt;br /&gt;
            { \&lt;br /&gt;
               cout &amp;lt;&amp;lt; &amp;quot;ERROR!! Assert &amp;quot; &amp;lt;&amp;lt; #x &amp;lt;&amp;lt; &amp;quot; failed\n&amp;quot;; \&lt;br /&gt;
               cout &amp;lt;&amp;lt; &amp;quot; on line &amp;quot; &amp;lt;&amp;lt; __LINE__  &amp;lt;&amp;lt; &amp;quot;\n&amp;quot;; \&lt;br /&gt;
               cout &amp;lt;&amp;lt; &amp;quot; in file &amp;quot; &amp;lt;&amp;lt; __FILE__ &amp;lt;&amp;lt; &amp;quot;\n&amp;quot;;  \&lt;br /&gt;
            }&lt;br /&gt;
#endif&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
   int x = 5;&lt;br /&gt;
   cout &amp;lt;&amp;lt; &amp;quot;First assert: \n&amp;quot;;&lt;br /&gt;
   ASSERT(x==5);&lt;br /&gt;
   cout &amp;lt;&amp;lt; &amp;quot;\nSecond assert: \n&amp;quot;;&lt;br /&gt;
   ASSERT(x != 5);&lt;br /&gt;
   cout &amp;lt;&amp;lt; &amp;quot;\nDone.\n&amp;quot;;&lt;br /&gt;
 return 0;&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==ASSERTS==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;#define DEBUG&lt;br /&gt;
 #include &amp;lt;iostream&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 #ifndef DEBUG&lt;br /&gt;
     #define ASSERT(x)&lt;br /&gt;
 #else&lt;br /&gt;
     #define ASSERT(x) \&lt;br /&gt;
         if (! (x)) \&lt;br /&gt;
         { \&lt;br /&gt;
             std::cout &amp;lt;&amp;lt; &amp;quot;ERROR!! Assert &amp;quot; &amp;lt;&amp;lt; #x &amp;lt;&amp;lt; &amp;quot; failed\n&amp;quot;; \&lt;br /&gt;
             std::cout &amp;lt;&amp;lt; &amp;quot; on line &amp;quot; &amp;lt;&amp;lt; __LINE__  &amp;lt;&amp;lt; &amp;quot;\n&amp;quot;; \&lt;br /&gt;
             std::cout &amp;lt;&amp;lt; &amp;quot; in file &amp;quot; &amp;lt;&amp;lt; __FILE__ &amp;lt;&amp;lt; &amp;quot;\n&amp;quot;;  \&lt;br /&gt;
         }&lt;br /&gt;
 #endif&lt;br /&gt;
 &lt;br /&gt;
 int main()&lt;br /&gt;
 {&lt;br /&gt;
     int x = 5;&lt;br /&gt;
     std::cout &amp;lt;&amp;lt; &amp;quot;First assert: \n&amp;quot;;&lt;br /&gt;
     ASSERT(x==5);&lt;br /&gt;
     std::cout &amp;lt;&amp;lt; &amp;quot;\nSecond assert: \n&amp;quot;;&lt;br /&gt;
     ASSERT(x != 5);&lt;br /&gt;
     std::cout &amp;lt;&amp;lt; &amp;quot;\nDone.\n&amp;quot;;&lt;br /&gt;
     return 0;&lt;br /&gt;
 }&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;pre class=codeResult&amp;gt;First assert:&lt;br /&gt;
Second assert:&lt;br /&gt;
ERROR!! Assert x != 5 failed&lt;br /&gt;
 on line 24&lt;br /&gt;
 in file ASSERTS.cpp&lt;br /&gt;
Done.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==function macro of get the max value number==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
#define getmax(a,b) ((a)&amp;gt;(b)?(a):(b))&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
  int x=5, y;&lt;br /&gt;
  y= getmax(x,2);&lt;br /&gt;
  cout &amp;lt;&amp;lt; y &amp;lt;&amp;lt; endl;&lt;br /&gt;
  cout &amp;lt;&amp;lt; getmax(7,x) &amp;lt;&amp;lt; endl;&lt;br /&gt;
  return 0;&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Printing values in DEBUG mode==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
 #define DEBUG&lt;br /&gt;
 &lt;br /&gt;
 #ifndef DEBUG&lt;br /&gt;
 #define PRINT(x)&lt;br /&gt;
 #else&lt;br /&gt;
 #define PRINT(x) std::cout &amp;lt;&amp;lt; #x &amp;lt;&amp;lt; &amp;quot;:\t&amp;quot; &amp;lt;&amp;lt; x &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
 #endif&lt;br /&gt;
 &lt;br /&gt;
 int main()&lt;br /&gt;
 {&lt;br /&gt;
     int x = 5;&lt;br /&gt;
     long y = 78l;&lt;br /&gt;
     PRINT(x);&lt;br /&gt;
     &lt;br /&gt;
     for (int i = 0; i &amp;lt; x; i++)&lt;br /&gt;
     {&lt;br /&gt;
         PRINT(i);&lt;br /&gt;
     }&lt;br /&gt;
 &lt;br /&gt;
     PRINT (y);&lt;br /&gt;
     PRINT(&amp;quot;Hi.&amp;quot;);&lt;br /&gt;
     int *px = &amp;amp;x;&lt;br /&gt;
     PRINT(px);&lt;br /&gt;
     PRINT (*px);&lt;br /&gt;
     return 0;&lt;br /&gt;
 }&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;pre class=codeResult&amp;gt;x:      5&lt;br /&gt;
i:      0&lt;br /&gt;
i:      1&lt;br /&gt;
i:      2&lt;br /&gt;
i:      3&lt;br /&gt;
i:      4&lt;br /&gt;
y:      78&lt;br /&gt;
Hi.&amp;quot;:  Hi.&lt;br /&gt;
px:     0x22ff74&lt;br /&gt;
*px:    5&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Using inline rather than a macro.==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
inline unsigned long Square(unsigned long a) { return a * a; }&lt;br /&gt;
inline unsigned long Cube(unsigned long a) &lt;br /&gt;
    { return a * a * a; }&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
   unsigned long x=1 ;&lt;br /&gt;
   for (;;)&lt;br /&gt;
   {&lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;Enter a number (0 to quit): &amp;quot;;&lt;br /&gt;
      cin &amp;gt;&amp;gt; x;&lt;br /&gt;
      if (x == 0)&lt;br /&gt;
         break;&lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;You entered: &amp;quot; &amp;lt;&amp;lt; x;&lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;.  Square(&amp;quot; &amp;lt;&amp;lt; x &amp;lt;&amp;lt; &amp;quot;): &amp;quot;;&lt;br /&gt;
      cout  &amp;lt;&amp;lt; Square(x);&lt;br /&gt;
      cout&amp;lt;&amp;lt; &amp;quot;. Cube(&amp;quot; &amp;lt;&amp;lt; x &amp;lt;&amp;lt; &amp;quot;): &amp;quot;;&lt;br /&gt;
      cout &amp;lt;&amp;lt; Cube(x) &amp;lt;&amp;lt; &amp;quot;.&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
   }&lt;br /&gt;
   return 0;&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Using parentheses in macros.==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
#define CUBE(a) ( (a) * (a) * (a) )&lt;br /&gt;
#define THREE(a) a * a * a&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
   long x = 5;&lt;br /&gt;
   long y = CUBE(x);&lt;br /&gt;
   long z = THREE(x);&lt;br /&gt;
   cout &amp;lt;&amp;lt; &amp;quot;y: &amp;quot; &amp;lt;&amp;lt; y &amp;lt;&amp;lt; endl;&lt;br /&gt;
   cout &amp;lt;&amp;lt; &amp;quot;z: &amp;quot; &amp;lt;&amp;lt; z &amp;lt;&amp;lt; endl;&lt;br /&gt;
   long a = 5, b = 7;&lt;br /&gt;
   y = CUBE(a+b);&lt;br /&gt;
   z = THREE(a+b);&lt;br /&gt;
   cout &amp;lt;&amp;lt; &amp;quot;y: &amp;quot; &amp;lt;&amp;lt; y &amp;lt;&amp;lt; endl;&lt;br /&gt;
   cout &amp;lt;&amp;lt; &amp;quot;z: &amp;quot; &amp;lt;&amp;lt; z &amp;lt;&amp;lt; endl;&lt;br /&gt;
 return 0;&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>