C++中字符串怎么转换成标识符?
发布网友
发布时间:2022-06-02 02:20
我来回答
共4个回答
热心网友
时间:2023-10-25 05:43
字符串不能转换成标识符
宏定义可以做替换,不知道是不是你想要的。
下面 用 #define abcdefg x
abcdefg 在 printf("%d",abcdefg); 像一个字符串,像一个标识符。
它的值实际上在x里。
#include<stdio.h>
#include<stdlib.h>
#define abcdefg x
void main()
{
int x=222;
printf("%d",abcdefg);
}
打出 222
热心网友
时间:2023-10-25 05:44
你可以使用模板
template<class T>
T comp(T x,T y)
{
return x-y;
}
热心网友
时间:2023-10-25 05:44
你这个只能在预编译期实现
Token-Pasting Operator (##)
考考你对英文的理解能力:)
This example illustrates use of both the stringizing and token-pasting operators in specifying program output:
#define paster( n ) printf( "token" #n " = %d", token##n )
int token9 = 9;
If a macro is called with a numeric argument like
paster( 9 );
the macro yields
printf( "token" "9" " = %d", token9 );
which becomes
printf( "token9 = %d", token9 );
热心网友
时间:2023-10-25 05:45
转换不了
除非你写好多好多的判断语句