【BLで学ぶ】腐女子でも分かるプログラミング【ポインタは受け、リバもあるよ】

BLで学ぶ左辺値と右辺値

左辺値は受け
右辺値は攻め

uke = "seme";
uke    // 左辺値(受け)
"seme" // 右辺値(攻め)

右側だけど攻め。

BLで学ぶプログラミング言語の属性

Javaはエリートサラリーマン
JavaScriptはヤンチャ系の後輩
Rubyは年下小悪魔系
Lispは孤独な一匹狼
Smalltalkは純真な学者タイプ
C言語はオヤジ上司
C++はいけ好かないライバル

Lispは近寄りがたいが意外と天然。Smalltalkは意外と子供好きなところがある。Rubyはパパっ子で甘え上手だがワガママで腹黒いところがある。C++は取引先の課長。オヤジ上司の元後輩でお互いに仲は悪いが自分を庇ってくれた元上司に恩を感じ続けている。オヤジ上司から未だに後輩扱いされているのが悩み。

BLで学ぶポインタ

ポインタ変数は受け
アドレス参照は攻め
間接参照は攻めときどき受け

int seme = 9;
int* uke = NULL; // ポインタ変数は受け
uke = &seme;     // アドレス参照は攻め
seme = *uke;     // 間接参照は攻め
*uke = seme;     // ときどき受け(攻めのち受け)

リバもいけます。

BLで学ぶ参照の種類

左辺値参照は総受け
右辺値参照は誘い受け
const参照は強気受け
ポインタはオヤジ受け

int v = 9;
int& sou_uke = v; // 左辺値参照は総受け
[](int&& sasoi_uke) { // 右辺値参照は誘い受け
  [](const int& tsuyoki_uke) { // const参照は強気受け
    const int* oyaji_uke = &tsuyoki_uke; // ポインタはオヤジ受け
    printf("%d", *oyaji_uke);
  }(std::forward<int>(sasoi_uke));
}(std::move(sou_uke));

なんで俺こんなにBL詳しいんだよ。

広告
広告