- 浏览: 680969 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (181)
- Matlab (16)
- Java (26)
- autoHotkey (4)
- openCV (1)
- C++ (50)
- PDF-XChange Viewer (2)
- 学术 (11)
- javascript (4)
- linux (11)
- SWT (9)
- latex (7)
- GAE (2)
- windows (6)
- C# (3)
- PS (20)
- JNI (4)
- latex,批处理 (0)
- 批处理 (4)
- Android (5)
- 矩阵论 (1)
- SVM (1)
- 概率图模型 (0)
- Python (12)
- Eigen (5)
- 编程题 (1)
- MKL (1)
- 神经网络 (9)
- 最优化 (2)
- 摄影 (1)
- PPT (0)
- After Effects (3)
- CUDA (3)
- caffe (0)
- MXNet (2)
- svn (1)
- R (0)
- 虚拟机 (0)
- tensorflow (7)
- theano (1)
- Keras (1)
- vim (1)
- xgboost (1)
- spark (6)
- eclipse (2)
- word2vec (0)
- hadoop (1)
- dmlc (1)
- git (0)
最新评论
-
jeffersonz:
请问大神,这个插件记录下来的脚本为什么不能再Extendscr ...
PhotoShop - 记录PS的所有操作为JavaScript代码 -
cherishLC:
Andy__Zou 写道cherishLC 写道Andy__Z ...
Eigen的编译选项;MKL的使用 -
Andy__Zou:
cherishLC 写道Andy__Zou 写道cherish ...
Eigen的编译选项;MKL的使用 -
cherishLC:
Andy__Zou 写道cherishLC 写道Andy__Z ...
Eigen的编译选项;MKL的使用 -
Andy__Zou:
cherishLC 写道Andy__Zou 写道 您好,您的工 ...
Eigen的编译选项;MKL的使用
1、获取变量名称
采用如下宏定义即可,这个宏定义将表达式x直接转换为对应的字符串:
用法:
2、获取类型名称
采用如下宏定义即可,这个宏定义将表达式x直接转换为对应的字符串:
更多的用法见最后的程序;
先看一下输出:
3、参考的网址
1、http://www.cplusplus.com/reference/typeinfo/type_info/
2、http://bbs.csdn.net/topics/380019977
4、完整的程序:
采用如下宏定义即可,这个宏定义将表达式x直接转换为对应的字符串:
#define varName(x) #x #define printExp(exp) cout<<#exp<<"为:\t\t"<<(exp)<<endl //这样就方便调试了,不用一个个的写变量名称了
用法:
cout<<varName(aInt)<<endl; \\输出为: aInt
2、获取类型名称
采用如下宏定义即可,这个宏定义将表达式x直接转换为对应的字符串:
//可能需要#include <typeinfo> 好像不引用也成 cout<<typeid(int).name()<<endl;
更多的用法见最后的程序;
先看一下输出:
3、参考的网址
1、http://www.cplusplus.com/reference/typeinfo/type_info/
2、http://bbs.csdn.net/topics/380019977
4、完整的程序:
#include <string> #include <iostream> #include <sstream> using namespace std; #define varName(x) #x #define printExp(exp) cout<<#exp<<"为:\t\t"<<(exp)<<endl #define printExpToString(exp) cout<<(string(#exp)+"为:\t\t") <<(exp).toString()<<endl //注意exp加个括号更安全 namespace LC { template<typename T> class Base { public: virtual string toString() { stringstream ss; ss<<typeid(*this).name(); return ss.str(); } Base operator+ (int a){ return *this; } }; template<typename T> class Derived:public Base<T> { public: virtual string toString() { stringstream ss; ss<<typeid(*this).name(); return ss.str(); } }; } typedef LC::Base<double> BaseDouble; typedef LC::Derived<int> DerivedInt; void main() { int aInt=1; printExp(aInt); printExp(typeid(int).name()); printExp(typeid(aInt).name()); cout<<"变量名称为: "<<varName(aInt)<<endl; cout<<endl; BaseDouble base; printExpToString(base); printExpToString(base+5+4); //若宏定义中exp不加括号就无法编译了!!! printExpToString((LC::Base<int>)DerivedInt()); cout<<endl; DerivedInt derived; LC::Base<int>* pBase=&derived; LC::Base<int> baseCast=derived; printExpToString(*pBase); printExpToString(derived); printExpToString(baseCast); printExp(typeid(*pBase)==typeid(derived)); printExp(typeid(baseCast)==typeid(derived)); }
发表评论
-
C++函数中的静态变量
2019-07-19 11:22 770在C++中,可以在成员函数中使用静态变量,从而间接达到在hpp ... -
tensorflow 静态编译笔记 -- linux系统
2018-11-05 14:26 0注: 1、编译tensorflow静态库 很简单,参见: h ... -
gperftools笔记
2018-06-27 14:30 0export LD_LIBRARY_PATH=LD_LIBR ... -
dmlc分布式线性模型编译笔记
2018-06-06 10:37 21131、使用第三方修改后的wormhole工程 原始工程wor ... -
C++中读取控制台输出,并将文件指针FILE*转换为istream
2017-11-27 15:03 1720解决的问题: 1、通过执行系统的bash命令后,获取其输出( ... -
c++中使用boost库在共享内存中存储map
2017-11-09 11:37 5143boost库中的interprocess包可以在共享内存中创建 ... -
近似最近邻算法库FLANN
2017-04-25 18:45 0FLANN库是计算近似最近邻的库, 问题定义如下: 给定距离函 ... -
C++杂记-- 重定向std::cout等
2017-04-18 17:28 18991、屏蔽std::cout 参见:http://stackov ... -
CMake指定目标代码的平台(win32,x64)
2016-06-03 20:54 11550主要参考自:http://blog.c ... -
windows 10下安装GPU版MXNet
2016-06-03 21:28 8535上回说到编译CPU版的MXNet: http://cheris ... -
windows下安装CPU版mxnet
2016-05-23 23:14 17500MXnet (mix net)类似Caffe,Tensorfl ... -
Linux C++编译及 静态/动态 链接库 笔记
2015-12-20 19:49 59971、C++文件的编译 g++参 ... -
Linux (Ubuntu) 下 Eclipse C++ 环境配置
2015-12-08 21:49 19241、安装JDK 参见http://blog.csdn.net/ ... -
Photoshop插件开发-filter
2015-10-11 22:53 3322初学,,感觉PS插件的文档很烂,,教程也很少,,也就这么简单学 ... -
使Visual Assist X支持CUDA的.cu文件的代码提示
2015-07-17 00:05 2244现在安装CUDA很方便了,直接支持Visual Studio。 ... -
CUDA程序block和thread超出硬件允许值时的异常
2015-07-13 11:32 3698调用CUDA的核函数时指定block 和 thread大小,该 ... -
创建及使用DLL
2014-09-29 15:22 1204此篇仅作简要的记录,作为备忘。 更为详细的可以参考:http: ... -
matlab的mexFunction中使用std::cout(部分转载)
2014-09-27 15:37 2129在matlab、C++混合编程的时候,可能会用到之前的代码。代 ... -
Eigen库:那些年我们一起经历的bug
2014-09-24 18:39 17811、使用auto声明新变量 ... -
C++:无虚函数的类作为有虚函数类的父类时产生Expression:_BLOCK_TYPE_IS_VALID(pHead->nBlockUse)
2014-09-24 09:48 1907调程序时忘了为啥,写了一小段测试程序,再简单不过,结果跑出了E ...
相关推荐
该dll库先通过分析pdb文件获取结构体/类的变量名称、变量地址,并将指定的对象序列化成完整json字符串,极大降低了开发者工作量。 支持的类型:bool、char、int、float、double、std::vector、std::map、std::...
nameof:现代C ++的Nameof运算符,只需获取变量,类型,函数,宏和枚举的名称
第1章 语言基础 1 1.1 基础语句 2 0001 注释的使用方法及注意事项 2 0002 使用汇编语言 2 0003 如何使用内联函数 2 0004 如何使用#define自定义宏 3 ...0083 在C++.NET中如何获取系统信息 34
0587 获取系统环境变量 387 0588 修改计算机名称 388 0589 获取当前屏幕颜色质量 388 0590 获得当前屏幕的分辨率 388 9.8 进程与线程 389 0591 如何使用TLS 389 0592 创建线程 389 0593 创建用户界面...
Visual C++MFC入门教程 目录 +-- 第一章 VC入门 |------ 1.1 如何学好VC |------ 1.2 理解Windows消息机制 |------ 1.3 利用Visual C++/MFC开发Windows程序的优势 |------ 1.4 利用MFC进行开发的通用方法介绍 |----...
2.13.1 C++/CLI特有的基本数据类型 84 2.13.2 命令行上的C++/CLI输出 87 2.13.3 C++/CLI特有的功能—— 格式化输出 88 2.13.4 C++/CLI的键盘输入 91 2.13.5 使用safe_cast 92 2.13.6 C++/CLI枚举 92 2.14 ...
0587 获取系统环境变量 387 0588 修改计算机名称 388 0589 获取当前屏幕颜色质量 388 0590 获得当前屏幕的分辨率 388 9.8 进程与线程 389 0591 如何使用TLS 389 0592 创建线程 389 0593 创建用户界面...
1983 年,语言的名称从 “带有类的 C” 更改为 C++。C 语言中的 ++ 运算符是用于递增变量的运算符,它使您可以深入了解 Stroustrup 如何看待该语言。在此期间添加了许多新功能,其中最引人注目的是
(TcpClient)result.AsyncState,接着获取数据流传输对象NetworkStream ns = tcpclt.GetStream(),此对象我建议弄成全局变量,以便于其他函数调用,接着我们将挂起数据接收等待,调用ns下的方法BeginRead,入口参数有...
在 Eclipse 中安装 CDT 之后, 浏览至 File => New => Project,在那里,您将发现三个新的可用项目类型:C(“Standard C Make Project”)、C++(“Standard C++ Make Project”)和“Convert to C or C++ Projects...
2.6 变量类型和类型强制转换 67 2.6.1 对操作数进行类型强制转换的规则 68 2.6.2 赋值语句中的类型强制转换 69 2.6.3 显式类型强制转换 69 2.6.4 老式的类型强制转换 70 2.6.5 按位运算符 71 2.7 了解...
│ 9makefile获取shell结果实现目录创建判断和根据目录生成目标名称 │ 10嵌套make同时编译和清理多项目 │ 11自定义makefile函数调用实现中的install │ 12使用makefile生成后台启动和停止的脚本并安装 │ 13项目...
但若要获取与 C++ 中相同的行为,则必须将 const 变量声明为: extern const int i = 2; 如果希望在 C++ 源代码文件声明用于 C 源代码文件的 extern 变量,请使用: extern "C" const int x = 10; 以防止 C++ ...
6.6.1 通过名称获取系统属性值 152 6.6.2 通过名称获取系统属性 152 6.7 用户和组 153 6.7.1 获取应用程序用户和组ID 153 6.7.2 获取应用程序用户名 154 6.8 进程间通信 154 6.9 小结 154 第7章 原生线程 155...
①、当前用户名称、计算机名称的获取; ②、CPU、内存、硬盘信息的获取。 23、进程的相关操作 ①、进程创建的三种方法及CreateProcess参数存在的问题; ②、进程的结束; 进程的枚举 一个简单任务管理器的...
您可以一对一地访问 JSON 字段或通过名称获取它们的值。这可以帮助您节省大量源代码行和开发时间。 它不使用递归。 它不使用动态内存。您使用的内存可以静态保留。 数组或 json 对象中的嵌套级别没有限制。 JSON ...
设置变量的名称、类型、最值等信息。 (4). 在资源视图菜单中,选择相应的菜单项,右击添加时间监听程序,设置函数处理程序名称。 (5). 在处理程序函数中添加相应的信息。 3. 总体设计与详细设计 3.1 系统模块...
这是一个轻量级的跨平台 C++14 API,用于远程控制 LEGO EV3。 当前特定于平台的实现文件仅适用于 iOS。 我使用这个库从 iOS 应用程序远程控制我的 EV3。 如果您发现此项目有用,请提出任何添加/更改。 以下是在 ...
设计一个产品类 Product ,允许通过如下方式来创建产品对象: 通过指定产品名创建; 通过指定产品名和产品价格创建; 通过指定产品名、产品价格、出厂日期(对象成员)创建; Product 还应该包含如下属性:生产厂家...
分别用来设置和获取学生各个属性值的set()和get()成员函数(例如:设置数学成绩的成员函数setMath().返回数学成绩的成员函数 getMath());计算三门课程总成绩的函数sum();显示学生数据信息的函数print();(注意:...