Строковое выражение условного выбора Подробнее...
#include <strexpr.h>
Строковое выражение условного выбора
A | Тип ветки для true |
Выражение, в зависимости от истинности условия генерирующее либо выражение A, либо строку из строкового литерала. Напрямую тип обычно не используется, создаётся через e_choice()
Так как строковые литералы не являются строковыми выражениями, то использовать их в виде одиночного выражения в частях e_choice или e_if требовало бы их обрамления какими-либо конструкциями, преобразующими их в строковое выражение. Приходилось бы писать например так:
Это, с одной стороны - захламляет код, с другой - делает его менее оптимальным. Поэтому для таких случаев сделаны перегрузки e_choice и e_if для случаев, когда их параметрами являются строковые литералы. В этих перегрузках и используются expr_choice_one_lit и expr_choice_two_lit, позволяя писать так: