C++ 宏:操作参数(具体示例)
我需要替换
GET("any_name")
为
String str_any_name = getFunction("any_name");
困难的部分是如何修剪掉引号。 可能的? 有任何想法吗?
I need to replace
GET("any_name")
with
String str_any_name = getFunction("any_name");
The hard part is how to trim off the quote marks. Possible? Any ideas?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
怎么样:
或者,防止嵌套宏问题:
用法:
这就是编译的内容:
要点:
How about:
Or, to safe guard against nested macro issues:
Usage:
And this is what is compiled:
Key points:
在回答你的问题时,不,你不能“去掉”C++ 中的引号。 但正如其他答案所表明的那样,您可以“添加它们”。 由于无论如何您都将始终使用字符串文字(对吗?),因此您应该能够切换到新方法。
In answer to your question, no, you can't "strip off" the quotes in C++. But as other answers demonstrate, you can "add them on." Since you will always be working with a string literal anyway (right?), you should be able to switch to the new method.
一种方法是在调用宏时不引用名称:
One approach is not to quote the name when you call the macro: