akasaka_34の日記

ネトウヨと呼ばれた男の日記。しかし頻度から言えば週報ぐらい。

C++

Clangについて

C++

プログラミング言語に関してここ10年で最もインパクトが大きいのはClangの完成度が上がってきたことじゃないかと思う。 GCCは偉大なプロジェクトではあるけど同時にGCCに対する不満の声も小さくない。(たしかRustが作られた発端もGCCへの不満だったはず)…

フィールドは不完全な型を持っています

C++

g++でclass Foo { public: class Bar { public: Foo x; }; };をコンパイルしようとすると field ‘x’ has incomplete type って怒られる。 「サイズが分からんのに(ポインタ以外で)使うな」 ってことだろうけど、その一方でtemplate class Foo { public: cl…

定数式の中にコンストラクタへの呼び出しが現れてはいけません。テンプレート引数1は不正です。

C++

GCC4.4.3のエラーメッセージ。 error: a call to a constructor cannot appear in a constant-expression error: template argument 1 is invalid エラーを再現するコードは、たとえばこんな感じ。 template class Foo { }; void bar() { void * p = new Foo…

かつてのCと今のC++

C++

僕はJavaが好きだ。 日常会話もJavaで喋るってほど好きというわけじゃないけど なんというか、Javaの存在に感謝している。1990年代前半に、その当時最先端の言語であったC++でコードを書いたことがあったんだけど 「なんじゃこりゃー。未来のプログラミング…