多角化是为在多种语言中有效的程序指定的名称。
例如,
#include <stdio.h>
#define do main()
do {
printf("Hello World!\n");
}在C和Perl中有效。
我不是一个程序员,只是一个为学生写几个例子的数学家。为了方便起见,我在用C++和Python编写示例时,我想知道将这两个版本放在同一个文件中的可能性。我不知道这个术语的存在(指程序),也不知道它们是可能是一个有趣的来源。
我的问题是:是否知道为C++和Python具有通用多个标记的技术。我的意思是说,它不是一个单一的程序,而是一个模板,它允许将C++中的任何(相当短的)程序及其版本的Python重写成一个组合它们的多边形。
也许我应该先问C++/ polyglot的存在,因为在我的 搜索中,我没有看到C++/polyglot。
我把它放在这里是因为我想要一个多字形图,有一点实际的原因。我可以把它贴在程序设计难题&代码高尔夫上。如果应该去那里的话。
对我来说,很难判断是否存在或实现一个解决方案。我对这些巧妙的结构没有多少经验。
我试图将Python封装在#if 0和#endif之间,这将是Python中的注释,并告诉C++忽略该部分。对于C++可用的部分,我尝试将它封装在docstring中,对于大多数效果,Python都会忽略它。但是没有办法使引号对Python和C++都是可接受的。
#if 0
print('Hi there')
#endif
#if 0
"""
#endif
#include<iostream>
int main() {
std::cout << "Hi there" << std::endl;
return 0;
}
#if 0
"""
#endif对于C++,我们得到了"""
警告:缺少终止
"字符
发布于 2018-10-25 08:26:46
在C/C++中,我们可以连接C-字符串.
"""是空字符串""与未完成字符串的连接。
为了避免这个错误/警告,您可以使用一个变体:""" "和" """。
因此,您可以在C++中将空字符串与带空格的字符串连接起来,对于python,您的字符串中只有额外的引号。
最后,你有:
#if 0
print('Hi there')
#endif
#if 0
""" "
#endif
#include <iostream>
int main() {
std::cout << "Hi there" << std::endl;
}
#if 0
" """
#endifC++演示 python演示
https://stackoverflow.com/questions/52980076
复制相似问题