Например,
Код: Выделить всё
#include
#define do main()
do {
printf("Hello World!\n");
}
Я не программист, а всего лишь математик, который писал несколько примеров для студентов. Я писал примеры для удобства как на C++, так и на Python, когда задумался о возможности размещения двух версий в одном файле. Я не знал о существовании термина «полиглот» (относящегося к программам) или о том, что они могут быть таким источником удовольствия.
Мой вопрос: известен ли он метод, позволяющий иметь универсальный полиглот для C++ и Python. Под универсальным я подразумеваю, что это не отдельная программа, а шаблон, позволяющий переписать любую (достаточно короткую) программу на C++ и ее версию для Python в полиглот, объединяющий их.
Возможно, мне следует сначала спросить о существовании полиглотов C++/Python, потому что в моих поисках я не нашел полиглота C++/Python.
Я разместил это здесь, потому что мне нужен был полиглот по практическим причинам. Я мог бы опубликовать это в разделе «Программирование головоломок и код-гольф». Если вместо этого он должен пойти туда.
Мне трудно судить о существовании или материализовать решение. У меня нет большого опыта работы с этими умными конструкциями.
Я попробовал заключить часть Python между #if 0 и #endif, что будут комментариями в Python и сообщат C++ игнорировать эту часть. Что касается части, пригодной для использования на C++, я попытался включить ее в строку документации, которая для большинства эффектов будет игнорироваться Python. Но не смог найти способ сделать кавычки приемлемыми как для Python, так и для C++.
Код: Выделить всё
#if 0
print('Hi there')
#endif
#if 0
"""
#endif
#include
int main() {
std::cout
Подробнее здесь: [url]https://stackoverflow.com/questions/52980076/existence-of-universal-c-python-polyglot[/url]