Item **w1 is a pointer to a pointer to Item.
Answer from Danke Xie on Stack OverflowWhat does ** operator mean, C? - Stack Overflow
What syntax could be used to implement both an exponentiation operator and XOR? - Programming Language Design and Implementation Stack Exchange
Golang-like defer operation in C++
GUI C# Calculator with ComboBox as Operation Selector Help
I'm not quite sure what you're asking - are you having difficulty figuring out which operator has been selected in the combobox?
If so, use this line of code inside your button2_Click method:
string op = (string)comboBox1.SelectedItem;
Now op will be either "+", "-", "*", "/" or null, depending on what you've selected in the combobox (null means nothing was selected).
Then you can use either a series of if statements or a switch statement to do the appropriate operation based on what's in op.
Videos
Lua solves this by using x ~ y for XOR.
When applied to floats which do not have an integer representation, it throws an error.
This is reasonably intuitive, since Lua uses ~x for bitwise negation (which is pretty common since the C days), and bitwise negation is just a special case of XOR (~x == (~0) ~ x). This also avoids having to introduce a new operator symbol.
(converted from a comment to an answer)
Other, more obscure ASCII sequences that come to mind are:
<>, since XOR can be seen as a bitwise antivalence (downside: many programming languages use this for~=/!=)(+), since XOR can be seen as a bitwise addition mod 2, which is usually notated as "oplus"
Demote xor
Unless you're in C or a similarly low-level language, you're not going to be doing a lot of bit-level manipulation. So the bitwise operations really don't need to be using up those juicy one-character infix symbols that we have a very limited supply of. In a high-level language, use ^ for the common case of exponentiation, and supply bitwise-xor (and the other bitwise operations, for that matter) as a named function or an operator with a longer name.
- Haskell supplies
xoras a standard function, not an operator. Haskell also demotes the other bitwise operators to have longer names (.&.and.|.), leaving&available for a higher-order function,|available as syntax, and^for exponentiation. - Julia goes even further, relegating bitwise-xor to the Unicode symbol
⊻(with the functionxoras an alias), and using^for exponentiation.