Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/152.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 声明由指针指示的类型的变量_C++_C_Pointers_Types_Casting - Fatal编程技术网

C++ 声明由指针指示的类型的变量

C++ 声明由指针指示的类型的变量,c++,c,pointers,types,casting,C++,C,Pointers,Types,Casting,我有: 如果我必须使用ptr进行声明: const char *ptr = "int"; ptr可以指向任意的char,string,。 我必须关注ptr所指向的那种类型的变量。 有可能吗?< P> > C++不是一种解释性语言。代码> int(代码>对编译器有意义,但在运行时没有任何东西可以理解 int”< /> > .< /p> 不。C++不是解释性语言。代码>“int”对编译器有意义,但在运行时没有任何东西能够理解“int”建议您根据自己想要表达的方式选择一种语言 您所描述的不是标准C

我有:

如果我必须使用
ptr
进行声明:

const char  *ptr = "int";
ptr
可以指向任意的
char
string
。 我必须关注
ptr
所指向的那种类型的变量。
有可能吗?

< P> > C++不是一种解释性语言。代码> int(代码>对编译器有意义,但在运行时没有任何东西可以理解<代码> int”< /> > .< /p> 不。C++不是解释性语言。代码>“int”对编译器有意义,但在运行时没有任何东西能够理解
“int”

建议您根据自己想要表达的方式选择一种语言

您所描述的不是标准C中的功能,您必须依赖的任何扩展都会将您锁定到特定的供应商,在这种情况下,他们可能会在某个时候决定停止支持它。。。那会是多么混乱,对吧


<>在C++领域,您可能会发现有用的<代码>模板<代码> >,<代码> DeCype < /C>,<代码> Audio/Cuth>关键字,或者潜在的其他选项。

< P>最好根据您想表达的方式选择一种语言。 您所描述的不是标准C中的功能,您必须依赖的任何扩展都会将您锁定到特定的供应商,在这种情况下,他们可能会在某个时候决定停止支持它。。。那会是多么混乱,对吧



<>在C++领域,您可能会发现有用的<代码>模板<代码> s,<代码> DeCyts<代码>,<代码> Audio>代码>,或者潜在的其他选项。

您应该真正阅读C++。事实上,你没有使用<代码> STD::String 表明你不熟悉基本C++。你只是在谈论<代码> TyPulf< /Cord>?(即
typedef ptr int;
then
ptr a=5
(或任何值)?看这个问题:你想用这个新创建的变量
a
做什么?我的意思是,即使像
if(!strcmp(ptr,“int”))int a;else if(!strcmp(ptr,“char”))这样愚蠢的事情cha;不能在C或C++中使用。但是你的说法很混乱,这句话最好。只是说:-你真的应该读C++。事实上,你没有使用<代码> STD::String 表明你不熟悉基本C++。你只是在谈论<代码> TyPulf< /Cord>?(即
typedef ptr int;
then
ptr a=5
(或任何值)?看这个问题:你想用这个新创建的变量
a
做什么?我的意思是,即使像
if(!strcmp(ptr,“int”))int a;else if(!strcmp(ptr,“char”))这样愚蠢的事情cha;不能在C或C++中.@ DaviC.RANKIN中工作,而你是对的,这种语句在最好的时候是混淆的。只是说:-技术上讲,没有什么可以阻止C++被解释(实际上存在C++解释程序),即使有,这个问题似乎与翻译方法似乎没有任何关系。虽然C++允许解释(微不足道的任何语言),但是C++没有任何结构来揭示这样的解释。这就是为什么我说它不是解释语言,即使有解释实现。Javascript(用于比较的语言)有
eval
,这使得它成为一种解释性语言,即使一些Javascript实现使用编译技术也是如此。在你觉得有必要详细说明之前,我理解了你的意思。不过,我恐怕你没听清我说的话。注意这里的重点:C++需要解释来实现动态类型,但是对这个问题的回答不需要动态类型。类型推断(C++确实有)可以很容易地被使用(实际上,应该使用)…@ unDealdAc行为:我不知道类型推理是如何合成的:代码> STD::MAP< /Cord>。C++程序中的类型集是有限的。问题是如何声明一个变量,即“代码> PTR <代码>点…“代码> STD::map < /Cord>?”相关的技术上讲,没有什么可以阻止C++被解释(实际上存在C++解释程序),即使存在,这个问题似乎也没有任何与翻译方法相关的问题。而C++允许解释(微不足道的任何语言),C++没有构造这样的解释器的结构。这就是为什么我说它不是解释语言,即使有解释实现。Javascript(用于比较的语言)有
eval
,这使得它成为一种解释性语言,即使一些Javascript实现使用编译技术也是如此。在你觉得有必要详细说明之前,我理解了你的意思。不过,我恐怕你没听清我说的话。注意这里的重点:C++需要解释来实现动态类型,但是对这个问题的回答不需要动态类型。类型推断(C++确实有)可以很容易地被使用(实际上,应该使用)…@ unDealdAc行为:我不知道类型推理是如何合成的:代码> STD::MAP< /Cord>。C++程序中的类型集是有限的。问题是如何声明一个变量,即“代码> PTR <代码>点…
std::map
的相关性如何?
int a;