У меня есть выражения, когда я хотел бы использовать варианту с применением, но не хочу, чтобы переменная была назначена новыми значениями - вроде как если бы она была константной переменной в C ++. < /p>
Пробое использовал метод add_constant из symbol_table, однако, когда я изменяю значение переменной между вызовами к значению, он, похоже, сохраняет значение переменной, когда выражение было сначала составлено. < /p>
using symbol_table_t = exprtk::symbol_table;
using expression_t = exprtk::expression;
using parser_t = exprtk::parser;
float x = 1.0f;
symbol_table_t symbol_table;
symbol_table.add_constant("x",x);
expression_t expression;
expression.register_symbol_table(symbol_table);
parser_t parser;
expression_string = "x + 3";
parser.compile(expression_string, expression);
expression.value(); // Get 4 which is ok
x = 3;
expression.value(); // Expect 6, but get 4
parser.compile("x := x/3+1", expression); // Want this to fail compilation due to assigning
< /code>
Есть ли способ связать переменную через таблицу Symb, но не разрешать ее назначать, но также убедитесь, что когда выражение ценится для использования его последнего или текущее значение?
Подробнее здесь: https://stackoverflow.com/questions/794 ... so-use-mos
Переменная привязки в exprtk, чтобы вести себя как назначение констановки, но также используйте большинство текущих знач ⇐ C++
Программы на C++. Форум разработчиков
1739846024
Anonymous
У меня есть выражения, когда я хотел бы использовать варианту с применением, но не хочу, чтобы переменная была назначена новыми значениями - вроде как если бы она была константной переменной в C ++. < /p>
Пробое использовал метод add_constant из symbol_table, однако, когда я изменяю значение переменной между вызовами к значению, он, похоже, сохраняет значение переменной, когда выражение было сначала составлено. < /p>
using symbol_table_t = exprtk::symbol_table;
using expression_t = exprtk::expression;
using parser_t = exprtk::parser;
float x = 1.0f;
symbol_table_t symbol_table;
symbol_table.add_constant("x",x);
expression_t expression;
expression.register_symbol_table(symbol_table);
parser_t parser;
expression_string = "x + 3";
parser.compile(expression_string, expression);
expression.value(); // Get 4 which is ok
x = 3;
expression.value(); // Expect 6, but get 4
parser.compile("x := x/3+1", expression); // Want this to fail compilation due to assigning
< /code>
Есть ли способ связать переменную через таблицу Symb, но не разрешать ее назначать, но также убедитесь, что когда выражение ценится для использования [b] его последнего или текущее значение? [/b]
Подробнее здесь: [url]https://stackoverflow.com/questions/79404283/binding-variable-in-exprtk-to-behave-like-a-const-wrt-assigning-but-also-use-mos[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия