c++哪个函数能够获取变量类型

c++哪个函数能够获取变量类型,第1张

C++没有自带这样的函数

你可以用自定义函数

我们用运算符sizeof(不是函数)来判断数据类型 因为不同数据类型内存字节数不一样 比如char是1 int是8

用法

sizeof(类型说明符,数组名或表达式)或sizeof 变量

定义

sizeof是C/C++中的一个 *** 作符(operator),简单的说其作用就是返回一个对象或者类型所占的内存字节数。

方法1:A类中的str声明为public,在B类中定义一个A类的对象a,B类中就可以直接调用astr了

方法2:A类中的str声明为private,再实现一个get()函数返回str的值,在B类中定义一个A类的对象a,B类中就可以直接调用aget()获得str的值

效力是做好工作的魂灵 在上秦小麟教员的数据库实现技巧的时辰,教员提到了一个题目:如安在运行时获取一个变量的类型,这用C实现如同要大费周折。今天正好碰着一个题目想看看C&#43;&#43;STL中的sort算法的实现,发明里面有个技能可以很轻易做到这一点。我就立即本身做了一个实验。如下可以获取运行时变量的类型。人生一世不就是为了化短暂的事物为永远的吗?要做到这一步,就须懂得如何器重这短暂和永远。 此中间思惟就是,应用模板函数的重载,是什么类型的参数就去调用参数是那个类型的函数。如许就让编译器去本身辨认,而编译器当然知道每个变量的类型。这让我想去商量那些我经常用到的STL算法的实现,若是你也经常应用,何不借此机会好好研究一下呢?我感触感染至少有几个益处。1 加强对C&#43;&#43;说话的懂得2 加强法度的设计才能3 加强算法解析与设计的才能#include<iostream>using namespace std;void PrintType(int t){cout<<"int type";}void PrintType(char t){cout<<"char type";}void PrintType(long t){cout<<"long type";}template<typename T> inlinevoid ValueType(T t){PrintType(t);}int main(){int a;char c;ValueType(a);cout<<endl;ValueType(c);cout<<endl;return 0;} 上例的功能很轻易扩大,若是你向本身的项目添加了一个新的类型,那么只要重载一个PrintValue( )即可。这仅仅是输出变量的类型,若是你还想再获取变量的类型的时辰做更多的工作的话,显然也是很轻易做到的。比如你想先获取变量的类型,如许之后才干断定分派给变量几许空间,那么这个也可以轻松实现,只须要改变PrintValue的功能即可。这里可以写一个int PrintValue(YourType t) ,她甚至应当有一个更好的名字比如int Memory(Type t)。 在不改变函数名的同时对上述函数稍加批改就可以实现输出传入参数应当分派的内存大小。

在你的代码里,这个inData是个局部变量,只能在InitData方法里初始化和使用,出了这个方法就释放了,无法访问,你只能把inData也放在类里,作为类级变量

比如:

string outData=null;

string inData=null;

static void InitData()

{

inData="Tempdata";

}

以上就是关于c++哪个函数能够获取变量类型全部的内容,包括:c++哪个函数能够获取变量类型、MFC 如何获得其他类的成员变量值、如何用C++获取运行时变量的类型等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9763731.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存