利用C,C++的宏,获取变量名!
想到已丢弃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++的宏,获取变量名!相关推荐
- python3 全局变量 局部变量_Python3获取变量名并修改函数内部的外部变量和局部变量,python3,在,local...
目录 1. 获取变量名 from u_工具 import to_变量名 a = 1 print(to_变量名(a)) 2. 修改local变量 2.0. 预期效果 将变量a的值改成5 def main ...
- (转)用宏获取函数名
c和c++调式 利用宏获得函数名 仅仅为了获取函数名,就在函数体中嵌入硬编码的字符串,这种方法单调乏味还易导致错误,不如看一下怎样使用新的C99特性,在程序运行时获取函数名吧. 对象反射库.调试工具及 ...
- JMeter脚本获取变量名、检验字符串值
说明: 脚本中获取变量值用vars.get("变量名"); 校验String类型的值使用String.equals("字符串值"),而不能用String==&q ...
- python locals动态获取变量名
a1 = 100 a2 = 200 a3 = 300 # 获取a2的值 print(locals()['a%d'%2]) 结果如下: python官方文档中这样定义locals()函数: 因此,可以使 ...
- python获取变量名
一.使用locals()方法 hello = 123 loc = locals() def get_variable_name(variable):for k,v in loc.items():if ...
- java 变量名_java获取类中的变量名(利用反射机制)
要获取的类: package com.jzxk.server.entities.player; public class Hero { public int Id; public String log ...
- python自定义变量名_Python 动态变量名定义与调用
动态变量名赋值 在使用 tkinter 时需要动态生成变量,如动态生成 var1-var10 变量. 使用 exec 动态赋值 exec 在 python3 中是内置函数,它支持 python 代码的 ...
- python高级函数、将函数作为变量、返回函数_从函数外部返回变量名,作为python函数内部的字符串...
因此,我创建了一个函数,它将一个操作(在本例中,一个数组与一个正弦波进行逐点乘法,但这与我的问题无关).在 现在我已经创建了另一个函数,我想用它创建一个string的python代码,以便以后多次应用 ...
- python的变量名有哪些_Python 趣闻:如何获得变量的名字?
获取变量名 今天我们探讨Python中一个看似很简单,实则并不容易的问题.这个问题是:如何获得变量的名字? 举例说明,给定一个变量var,给它赋值字符串"foo".即 In [1] ...
最新文章
- python装饰器-Python基础-20装饰器
- Linux系统中如何关闭触摸鼠标
- python原理及代码_链表的基本原理及Python代码的实现,与,python
- pytorch 三维点分类_基于深度学习的三维重建——MVSNet系列论文解读
- 如何解决未经检查的演员表警告?
- sqlserver与mysql的一些不同的T-SQL语句
- 新发布GoldenGate 12c版本中的主要特性
- python函数传入对象
- VMware安装Ubuntu配置NAT模式下静态IP,解决访问外网问题
- java 对session的基本使用
- 嵌入式系统三级考试终结版2019.3
- Pytorch|YOWO原理及代码详解(二)
- 不同麻醉方案以及清醒条件下大鼠大脑连接模式分析
- rap2一键部署 (包括RAP2-DELOS与RAP2-DOLORES)
- 【slam十四讲第二版】【课本例题代码向】【第九讲~后端Ⅰ】【安装Meshlab】【BAL数据集格式】【ceres求解BA】【g2o求解BA】
- Android开发范例实战宝典
- unityui炫酷动画_Unity_Animation实现UI星星闪耀效果①
- UOS与Deepin OS区别详解
- arcgis画线根据长度_如何使用Arcgis进行画线与面并计算大小?
- 职业规划之前请认真读读以下19个故事(3)
热门文章
- 十六进制转八进制(C语言版)
- 没有伞的孩子要学会奔跑
- 【STM32 HAL】用旋钮电位器进行PID调参
- 海思开发板实用技巧集
- 上项线体表位置_颅骨体表定位标志
- RAID的概念和RAID对于SQL性能的影响
- Vue3+TS使用element-plus 动态Icon图标
- 清明节到来,微信公众号图文排版有哪些使用技巧?
- git报错 git libpng warning: iCCP以及fatal: Authentication failed for ‘https://git.weixin.qq.com‘
- 记win10 ltsc版本wsappx进程CPU占用过高解决过程