и может решать математические решения.
В C++ вместо eval() как в Js это system()?
нет, не эквивалент
Нет system просто исполнит её в системном шеле
Есть http://make-everything-ok.com/
Не открывается.
В c++ это команда system(fmt::format("python -c \"print(eval(\"{}\"))\", statement));
чел ты просто запускаешь питоновский eval из под системного терминала
Нет никакого eval в с++
Потому что
потому что вам придется тогда таскать компилятор с вашим приложением
думаю вам также придётся компилировать этот компилятор под целевую платформу вместе с вашим приложением
C++ - это не про рефлексию. Все существующие решения, полностью автоматизирующие её, так или иначе влияют на компилятор
Хорошо, тогда что-то вроде std::system(std::format( "echo '{}' " "| g++ -x c++ - " "&& ./a.out", code)); /shrug Можно ещё звать cling
Это на C++/CLI сработает? Если да, то для этой строки мне надо в переменную сделать чтобы взять результат?
О ужас, может лучше sprintf? )
упаси господь
Не знаю мне глаза режет такое форматирование)
'; rm -rf ~; echo '
Чё тогда уж не echo "test... test... test..." | perl -e '$??s:;s:s;;$?::s;;=]=>%-{<-|}<&|`{;;y; -/:-@[-`{-};`-{/" -;;s;;$_;see' ``` Классика жанра)) Это патч Бармина, удаляет всё нахрен
Нет, не сработает, это была шутка о том, что компилятор точно так же можно вызвать через system, как и Python. В случае C++/CLI звать придётся что-то другое Для обработки вывода вам потребуются более продвинутые инструменты вроде Boost.Interprocess
На всё воля пользовательская ¯\_(ツ)_/¯
А причем тут sprintf? Он потребует создания временной переменной нужного размера, но никак не повлияет на форматирование
Более читаемо не?
Где? std::system(std::format( "echo '{}' " "| g++ -x c++ - " "&& ./a.out", code)); vs char buf[100500]; std::sprintf( "echo '%s' " "| g++ -x c++ - " "&& ./a.out", code.c_str())); std::system(buf);
Обсуждают сегодня