Вам необходимо использовать оператор, который уже существует. Нет способа [1] вводить новые комбинации существующих символов, и вы не можете использовать операторы, которые являются унарными (один аргумент), например operator~
.
Предполагая, что входы что-то вроде строк, я бы сказал, что operator%
или operator^
потенциально будет работать. Таким образом, вы получаете if (abc == 123 && pqr % cb) ...
.
Это может быть реализовано с помощью:
bool operator%(std::string a, std::string b)
{
return isMatch(a, b);
}
[1] Помимо изменения исходного кода компилятора, а так как этот тип изменений никогда не будет сделано в основной компилятор, вы должны поддерживать такое изменение на вашей собственной ветке компилятора навсегда. И это, конечно же, предполагает, что вы даже имеете исходный код компилятора, что не подходит для ВСЕХ компиляторов.
Это фактически 2 оператора. –
Нет такой вещи, как 'operator = ~'. Где вы это видели и что вы пытаетесь сделать? –
Мне нужно разобрать некоторую строку, например {abc == def && pqr = ~ 123} –