You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Taking the opportunity, I will also propose some corrections.
--- C-Preprocessor-tricks,-tips,-and-idioms.md~ 2017-07-09 21:35:04.000000000 +0000
+++ C-Preprocessor-tricks,-tips,-and-idioms.md 2024-04-28 15:04:37.818698750 +0000
@@ -1,12 +1,12 @@
# Basic
## Pattern Matching
-The `##` operator is used to concatenate two tokens into one token. This is provides a very powerful way to do pattern matching. Say we want to write a `IIF` macro, we could write it like this:
+The `##` operator is used to concatenate two tokens into one token. This provides a very powerful way to do pattern matching. Say we want to write a `IIF` macro, we could write it like this:
```c
#define IIF(cond) IIF_ ## cond
#define IIF_0(t, f) f
#define IIF_1(t, f) t
```
-However there is one problem with this approach. A subtle side effect of the `##` operator is that it inhibits expansion. Heres an example:
+However there is one problem with this approach. A subtle side effect of the `##` operator is that it inhibits expansion. Here is an example:
```c
#define A() 1
//This correctly expands to true
Don't mean to be that guy, but in the Comparison section at the end of the starting paragraph, it says
marcos
when it should saymacros
.The text was updated successfully, but these errors were encountered: