2019独角兽企业重金招聘Python工程师标准>>>



是否看到这样的东东有种头大了的感觉:
  NTF_HR(m_pBaseClass->SetStr(m_hGPROG.hfCoef, (const float*)hfCoef) );

你一定会很好奇NTF_HR()这是什么东西? 函数?不是吧,长得这么“丑”?

如果你看到类似下面这样一堆东东:
#ifndef _CRT_WPERROR_DEFINED
#define _CRT_WPERROR_DEFINED
 {_wperror(_In_opt_z_ const wchar_t * _ErrMsg);\
 _fgetwc_nolock(_Inout_ FILE * _File);\
 _fputwc_nolock(_In_ wchar_t _Ch, _Inout_ FILE * _File);\
 _ungetwc_nolock(_In_ wint_t _Ch, _Inout_ FILE * _File);}
有些大神写的甚至不换行,很牛逼的样子,看着都醉了;

不废话了,在这里总结一些宏定义的作用以及用法(基本用法就不说了,大学C语言老师告诉你了):
宏定义目的是为程序员在编程时提供一定的方便,并能在一定程度上提高程序的运行效率,可能刚开始接触程序时候不太理解,不过随着深入,你会深刻的感受到它存在的合理性;
如果不理解上面的代码:给你简化一些,Give you a sample example as follow:
#define MYTEST(p) {int jj=p;if(jj>0) {cout << "我爱C++" << endl;}\
                             else if(jj<0) cout <<"不恨C++" << endl; \
                             else cout << "Fuck C++" << endl; }
如果你写个测试函数,如下:
int main()
{
MYTEST(100);
MYTEST(0);
MYTEST(-100);

}
Look the result,you will be excited to see it ,it's rather funny ,isn't it ?
偷偷告诉你斜线\无非就是个换行符;你会疑问这里的p是个啥东西?呵呵,他就是一个代号,p是什么类型,有你决定,它可以是个句柄、任意类型的变量,也可以是个其他类型的数据结构;

感悟:有时候不是困难来的太突然,而是你没有挑战困难的勇气;作为 A Software Engineer ,很多问题可以从哲学中找到答案;保持清醒的头脑,不断给自己充电,你才会走的更远.................

转载于:https://my.oschina.net/u/2344808/blog/397865

算法研发---对宏定义#define相关研究相关推荐

  1. 宏定义Define的一些用法

    ---转载百度文库 一. #define是C语言中提供的宏定义命令,其主要目的是为程序员在编程时提供一定的方便,并能在一定程度上提高程序的运行效率,但学生在学习时往往不能 理解该命令的本质,总是在此处 ...

  2. [C++]宏定义#define A B C

    C++关于宏定义的用法,有形如#define A B C的格式,此时B和C都是已知的字符串常量. 在宏定义中. 可以把两个常量字符串连在一起 如果#define A "a" 那么宏 ...

  3. VS无法使用宏定义#define解决方案

    在使用VS编译C语言或者其他语音用到宏定义#define,VS会报错提示(以VS2019为例) 解决方式: 在工具-->选项-->文本编辑器-->C/C++-->查看中,将&q ...

  4. [C语言]宏定义#define的使用详解

    一.宏定义定义常量 预定义符号 FILE //进行编译的源文件 LINE //文件当前的行号 DATE //文件被编译的日期 TIME //文件被编译的时间 STDC //如果编译器遵循ANSI C, ...

  5. C语言 | 预处理 | 宏定义 | #define | 定义函数

    文章目录 预处理 预处理运算符 宏定义 无参宏定义 带参宏定义 宏定义-定义函数 此文主要介绍宏定义,并在介绍宏定义时举例介绍预处理命令 预处理 参考:C 预处理器 | 菜鸟教程 重要的预处理器指令如 ...

  6. 预处理命令 宏定义 #define #undef

    预处理命令 源程序中以#开头的行称为预处理指令. 预处理指令并不是C语言的语法成分,而是传给编译程序的指令. 包括: 宏定义 #define #undef 文件包含 #include 条件编译 #if ...

  7. 宏定义#define整理

    一.宏定义#define 优点:一方面可以节省程序的空间上的篇幅,另外,恰当地使用宏定义可提高程序的时间效率.代码可以写的通俗易懂.可以提高程序的清晰性.可读性,使于修改移植等. 缺点:宏定义的使用实 ...

  8. 枚举(enum)、宏定义(#define)、结构体(struct)的拾遗

    1.宏定义 1.1.不带参数的宏定义 #define 标识符 字符串           例如:#define PI 3.1415926 说明: (1)宏名一般习惯用大写字母表示,但并非规定,也可以用 ...

  9. C语言-宏定义#define的用法

    目录 1 不带参宏定义 2 带参宏定义 3 与字符串有关的用法 3.1 字符串转换 3.2 字符转换 3.3 字符连接 1 不带参宏定义 这种用法是最简单最常见的一种方式,如下: #define PA ...

最新文章

  1. 带修莫队 ---- P1903 [国家集训队]数颜色 / 维护队列 带修莫队模板
  2. 一文览尽ToF深度相机技术
  3. “妖魔化”的SaaS
  4. 1.10 梯度消失与梯度爆炸-深度学习第二课《改善深层神经网络》-Stanford吴恩达教授
  5. Android studio libs目录
  6. Linux目录、文件的创建与删除
  7. android.view.InflateException: Binary XML file line #34: Error inflating class
  8. python乘积函数_龙贝格求积公式(Python实现)
  9. TensorFlow中报错 module ‘tensorflow_core._api.v2.train‘ has no attribute ‘GradientDescentOptimize
  10. CAD2010 为了保护_一文弄懂,锂电池的充电电路,以及它的保护电路方案设计
  11. mysql删除中继日志_mysql 中继日志删除可以自动获取吗
  12. 云计算呼叫中心_云呼叫中心是如何有效保护客户信息的?
  13. Android性能优化-过度绘制解决方案
  14. 流密码:lfsr(线性反馈移位寄存器)
  15. 单声道,立体声 ,功放驱动喇叭的功率选择,功放的适配(A类,B类。。),怎样测量音量信号--怎样不烧坏喇叭。
  16. 云效研发效能度量体系,如何展示和解读交付效能数据
  17. word打开文档很久很慢_打开office非常慢怎么回事_电脑打开word文件很慢怎么办
  18. php惠新宸框架,首位国人惠新宸加入PHP官方开发组
  19. 世界首部使用USB-C接口iPhone面世
  20. vasp 模拟退火_【转】vasp的分子动力学模拟 - 第一原理 - 小木虫 - 学术 科研 互动社区...

热门文章

  1. PowerShell 解决红字一闪而过问题
  2. Spring 当一个接口多个实现时,怎么注入
  3. 【乐畅】工作积累 ---- 设置一个弹窗的层
  4. JPush极光推送Java服务器端API
  5. 使用PHP连接POSTGRES数据库
  6. ASP.NET MVC3 及其学习资源
  7. Q107:Mac系统下GDB对PBRT-V3进行debug
  8. 哪些因素会影响数据质量
  9. 大数据平台应用开发的痛点有哪些
  10. 大数据分析的价值有哪些