如何“重新定义”一个 char * 到另一个 char *?
像这样的事情:(这是任务,如何做到这一点,而不是改变主函数的主体)
我认为它太简单了......但是......我不知道该怎么做......
#include <iostream>
#define "a" "b"
int main( int argc,char ** argv) {
std::cout << "a";
return 0;
}
/ /输出:b
怎么办呢?
Something like that: (it is task, how to do this, and not to change body of main function)
I thought that it is too simple... but... I don't know how to do it...
#include <iostream>
#define "a" "b"
int main( int argc,char ** argv) {
std::cout << "a";
return 0;
}
// output: b
How to do it?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
幸运的是,您无法重新定义字符串文字。当然,真正的问题是:为什么你想这样做?
Fortunately, you can't redefine string literals. Of course, the real question is: why do you want to do it?
更改 C++ 输出而不更改 main() 函数
例如, 来自该主题:
一个更简单的主题:
Changing C++ output without changing the main() function
for example from that topic:
a simplier one:
宏名称必须是标识符,因此不能包含字符
"
。Macro names must be identifiers, and thus cannot contain the character
"
.你不能。预处理器不会“查看”字符串文字。
You can't. The preprocessor doesn't "look into" string literals.
也许你想这样做:
输出:
b
Probably you want to do this:
Output :
b
#define
是一种糟糕的c++
风格。使用const
。#define
is a badc++
style. Useconst
.