2021年7月12日

その、「禁煙にはこうすれば良いですよ。自分は喫煙したことないですけど」みたいな「アドバイス」をしたがる人が多いのはなぜだろうか。なんか、「なにかの役に立ちたい。でも自分には特にスキルはない」という人が、焦ってなにかをしようとするとろくなことがない気がする。デマの拡散とか。

最近著しく集中力を欠いている。集中力を欠くと、↑こういうこと(ネットの闇成分への反応)を言いがちなので良くない。自覚はあるんですよ。

追加予算執行の確認した。メールもした。

WSL2のDISPLAY、hostname.mshome.netで取れるという記事をみて試したんだけど、hostname + mshome.netで取れるIPアドレスが172.23.96.1とかで、それだとなぜうちの環境ではダメ。192.168の、Windows側のIPじゃないとXが通じなかった。172はWSL側のIPアドレスだと思うんだけど、そのあたりの関係がどうなっているかよくわかってない。

C++の一様初期化というのを知った。C++11で導入。こんなコードを考える。

#include <cstdio>

struct Hoge {
};

int main(){
  Hoge h();
}

これは、おそらく無引数のクラスHogeの型の変数hの宣言を意図しているが、実際にはHogeを返す関数hのプロトタイプ宣言とみなされる。clang++は昔から、gccは11から警告-Wvexing-parseが導入、デフォルトでオンなっているため、警告が出る。

prog.cc: In function 'int main()':
prog.cc:7:9: warning: empty parentheses were disambiguated as a function declaration [-Wvexing-parse]
    7 |   Hoge h();
      |         ^~
prog.cc:7:9: note: remove parentheses to default-initialize a variable
    7 |   Hoge h();
      |         ^~
      |         --
prog.cc:7:9: note: or replace parentheses with braces to aggregate-initialize a variable
0

C++11から、コンストラクタ呼び出しに中括弧を使える。

#include <cstdio>

struct Hoge {
};

int main(){
  Hoge h{};
}

これで紛れがなくなる。他にも使い捨て構造体を作るのに便利らしい。なるほど。