c++

xorで値のスワップ

c++

まあ、常識みたいなもんかもしれませんが、今かこうと思った。 void swap(signed &l,signed &r){ l ^= r; // L = R XOR L r ^= l; // R = R XOR (R XOR L) = (R XOR R) XOR L = 0 XOR L = L l ^= r; // L = L XOR R = (R XOR L) XOR (L) = R XOR (L XOR L) =…

思い出すのだ C++を(マクロを思い出してみる)

とりあえずマクロを思い出してみる。 マクロというのは、トークンを引数として取れて、そしてそれを別のトークン列に置換することができる。 トークン列というのがポイント。実質空白で区切れるCのソースコードの破片ならなんでもちょちょいと編集して乗せら…

C++のswitch文

こうかけるらしい。 switch(expr){ case 1: if(cond_expr){ case 2: } } 知らなかった。

\で改行を無かったことに

C++では行の末尾に改行を入れることによって行改行を意味のなかったことにできます。たとえば以下のように: #include "stdafx.h" #include "Sales_item.h" #include <iostream> int main() { s\ t\ d\ :\ :\ c\ o\ u\ t\ \ <\ <\ \ "\ a\ "\ \ "\ b\ "\ <\ <\ \ s\ t\</iostream>…