70)宏的基本操作

1)一个基本的样例  就是你在建立.cpp文件和.h文件时,会有那个#pragma once  

    还有下面的代码:

 1 //.h文件   中的内容
 2 
 3 #pragma  once//为了兼容C++编译器
 4 
 5 
 6 //下面这个是为了兼容C编译器
 7 #ifndef   __.h的文件名字的大写__                                              你看就是普通的理解  要是没有定义(也就是没有编译“__.h的文件的名字的大写__”,
                                                就执行下面的代码,你看啊,要是 你已经编译过了 那么也就是这个宏定义过了 ,
那么再编译相同的代码部分了
8 #define __.h的文件名字的大写__ 9 10 11 12 13 14 //中间代码内容 15 16 17 #endif

 

2)其实对于宏的知识  还有很多的知识点

    

 

1)其实在C++的部分,,很多的有实际意义的数字都是用宏的,比如  我们的IWin32的WM_LBUTTONDOWN或者别的

2)宏用来单纯的替换

        

1 #define MM  for(int i=0;i<10;i++)cout<<i<<endl;
2 
3 //这个MM就是代表了   for(int i=0;i<10;i++)cout<<i<<endl; 这一段代码,注意  宏就是单纯的替换

3) 在 (2)中很长  我可以这样写:

              反斜杠   表示  下一行和上一行拼接  的意思

1 #define MM()\                   注意这个反斜杠后面  不能加任何东西,包括注释和空格都不行
2       for(int i=0;i<10;i++)\
3         cout<<i<<endl;            

 

4)带参数的宏

  

1 #define BBB(ThisClass)\
2             ThisClass AA;\
3                 AA.show();
4 
5 
6 //表示实例化一个类  那个ThisCLass就是你传入的类名

5)## 表示字符串拼接

1 #define  BB(ThisClass)\
2             ThisClass  ps##ThisClass;\
3             ps##ThisClass.show();
4 
5 
6 
7 
8 //单纯的拼接字符串

 

 

6)#是将传的参数变成  字符串

1 #define  BB(ThisClass)\
2            cout<<#ThisClass<<endl;
3 
4 
5 
6 //将我传入的类名 转成字符串

 

posted @ 2018-01-19 14:18  小油菜1  阅读(359)  评论(0编辑  收藏  举报