想到已丢弃MFC, C,C++的宏定义: 真的很强大!!!

#ifndef _char#ifdef _UNICODE_//-------------------------------宽节符#define _char wchar_t#define _cout std::wcout#define _string std::wstring#define _t(s) L##s#define _tostr std::to_wstring#else#define _char char#define _cout std::cout#define _string std::string#define _t(s) s#define _tostr std::to_string#endif
#endif//打印出变量名 = 变量值
#define _p(var) (_cout <<#var<<_t(" = ")<<_tostr(var) << _t("\t"))//打印出变量名 = 变量值并换行
#define _pn(var) (_cout <<#var<<_t(" = ")<<_tostr(var)<<_t("\n"))//打印出变量名 = 变量值 (变量名必须具有 ToString() 方法)
#define _po(var) (_cout <<#var<<_t(" = ")<< var.ToString())//打印出变量名 = 变量值并换行(变量名必须具有 ToString() 方法)
#define _pon(var) (_cout <<#var<<_t(" = ")<< var.ToString()<<_t("\n"))//获取 变量名 = 变量值的 字符串
#define _gets(var) (_string(_t(""))+ _t(#var) + _t(" = ") + _tostr(var) + _t("\t"))

#ifndef _char
    #ifdef _UNICODE_
        //-------------------------------宽节符
        #define _char wchar_t
        #define _cout std::wcout
        #define _string std::wstring
        #define _t(s) L##s
        #define _tostr std::to_wstring
    #else
        #define _char char
        #define _cout std::cout
        #define _string std::string
        #define _t(s) s
        #define _tostr std::to_string
    #endif
#endif

//打印出变量名 = 变量值
#define _p(var) (_cout <<#var<<_t(" = ")<<_tostr(var) << _t("\t"))

//打印出变量名 = 变量值并换行
#define _pn(var) (_cout <<#var<<_t(" = ")<<_tostr(var)<<_t("\n"))

//打印出变量名 = 变量值 (变量名必须具有 ToString() 方法)
#define _po(var) (_cout <<#var<<_t(" = ")<< var.ToString())

//打印出变量名 = 变量值并换行(变量名必须具有 ToString() 方法)
#define _pon(var) (_cout <<#var<<_t(" = ")<< var.ToString()<<_t("\n"))

//获取 变量名 = 变量值的 字符串
#define _gets(var) (_string(_t(""))+ _t(#var) + _t(" = ") + _tostr(var) + _t("\t"))

测试结果:

(1)

(2)

(3)

利用C,C++的宏,获取变量名!相关推荐

  1. python3 全局变量 局部变量_Python3获取变量名并修改函数内部的外部变量和局部变量,python3,在,local...

    目录 1. 获取变量名 from u_工具 import to_变量名 a = 1 print(to_变量名(a)) 2. 修改local变量 2.0. 预期效果 将变量a的值改成5 def main ...

  2. (转)用宏获取函数名

    c和c++调式 利用宏获得函数名 仅仅为了获取函数名,就在函数体中嵌入硬编码的字符串,这种方法单调乏味还易导致错误,不如看一下怎样使用新的C99特性,在程序运行时获取函数名吧. 对象反射库.调试工具及 ...

  3. JMeter脚本获取变量名、检验字符串值

    说明: 脚本中获取变量值用vars.get("变量名"); 校验String类型的值使用String.equals("字符串值"),而不能用String==&q ...

  4. python locals动态获取变量名

    a1 = 100 a2 = 200 a3 = 300 # 获取a2的值 print(locals()['a%d'%2]) 结果如下: python官方文档中这样定义locals()函数: 因此,可以使 ...

  5. python获取变量名

    一.使用locals()方法 hello = 123 loc = locals() def get_variable_name(variable):for k,v in loc.items():if ...

  6. java 变量名_java获取类中的变量名(利用反射机制)

    要获取的类: package com.jzxk.server.entities.player; public class Hero { public int Id; public String log ...

  7. python自定义变量名_Python 动态变量名定义与调用

    动态变量名赋值 在使用 tkinter 时需要动态生成变量,如动态生成 var1-var10 变量. 使用 exec 动态赋值 exec 在 python3 中是内置函数,它支持 python 代码的 ...

  8. python高级函数、将函数作为变量、返回函数_从函数外部返回变量名,作为python函数内部的字符串...

    因此,我创建了一个函数,它将一个操作(在本例中,一个数组与一个正弦波进行逐点乘法,但这与我的问题无关).在 现在我已经创建了另一个函数,我想用它创建一个string的python代码,以便以后多次应用 ...

  9. python的变量名有哪些_Python 趣闻:如何获得变量的名字?

    获取变量名 今天我们探讨Python中一个看似很简单,实则并不容易的问题.这个问题是:如何获得变量的名字? 举例说明,给定一个变量var,给它赋值字符串"foo".即 In [1] ...

最新文章

  1. python装饰器-Python基础-20装饰器
  2. Linux系统中如何关闭触摸鼠标
  3. python原理及代码_链表的基本原理及Python代码的实现,与,python
  4. pytorch 三维点分类_基于深度学习的三维重建——MVSNet系列论文解读
  5. 如何解决未经检查的演员表警告?
  6. sqlserver与mysql的一些不同的T-SQL语句
  7. 新发布GoldenGate 12c版本中的主要特性
  8. python函数传入对象
  9. VMware安装Ubuntu配置NAT模式下静态IP,解决访问外网问题
  10. java 对session的基本使用
  11. 嵌入式系统三级考试终结版2019.3
  12. Pytorch|YOWO原理及代码详解(二)
  13. 不同麻醉方案以及清醒条件下大鼠大脑连接模式分析
  14. rap2一键部署 (包括RAP2-DELOS与RAP2-DOLORES)
  15. 【slam十四讲第二版】【课本例题代码向】【第九讲~后端Ⅰ】【安装Meshlab】【BAL数据集格式】【ceres求解BA】【g2o求解BA】
  16. Android开发范例实战宝典
  17. unityui炫酷动画_Unity_Animation实现UI星星闪耀效果①
  18. UOS与Deepin OS区别详解
  19. arcgis画线根据长度_如何使用Arcgis进行画线与面并计算大小?
  20. 职业规划之前请认真读读以下19个故事(3)

热门文章

  1. 十六进制转八进制(C语言版)
  2. 没有伞的孩子要学会奔跑
  3. 【STM32 HAL】用旋钮电位器进行PID调参
  4. 海思开发板实用技巧集
  5. 上项线体表位置_颅骨体表定位标志
  6. RAID的概念和RAID对于SQL性能的影响
  7. Vue3+TS使用element-plus 动态Icon图标
  8. 清明节到来,微信公众号图文排版有哪些使用技巧?
  9. git报错 git libpng warning: iCCP以及fatal: Authentication failed for ‘https://git.weixin.qq.com‘
  10. 记win10 ltsc版本wsappx进程CPU占用过高解决过程