C++

goto撲滅!それdo while(0)でできますよ!

C++

目的 gotoを消したい gotoを駆逐したい gotoを地獄へ とはいえ、コードベースからすべてのgotoを検索して書き換えるのは、苦労対効果が高くないので非推奨。自分がメンテするコードにあれば瞬殺しましょう程度。 gotoをdo while (0)で置換する

forループよりalgorithmがすき

C++

forループよりalgorithmがすき データ型の変更や、カウントアップさせる条件の変更がきても、algorithm+lambdaをつかうほうがこのみ。 あとで読んだときに、「処理ブロック」を認識するためのコストが低く、counterという一時的な変数で、可変なものが無くな…

Visual Studio 2012ではstd::initializer_listが使えない。そんな時はstd::arrayを使うとスッキリする

まずは、祝リリース Visual Studio 2013 Community!!。 Visual Studio Community 2013 - Visual Studio Microsoft、"Professional"相当の無償版「Visual Studio Community 2013」を公開 - 窓の杜 .NET Core Framework、.NET Core Distribution for Linux/OSX…

メトリクス集計ツール「SourceMonitor」が突然エラーで動かなくなった!→管理者として実行→直った!(Windows8.1、C++)

SourceMonitor V3.5 メトリクス集計をするなら「SourceMonitor」が一番パワフルで、安定していて、定期的にバージョンアップもされています。 メトリクス集計 SourceMonitor以外にいいのがない... 定期的にメトリクスを取る方法を模索中。 というか、コレし…

「継承できないクラス」をつくるには「final指定子」を使おう。ついでに「override指定子」も使おう。

これで、コンパイルエラーとなる。 class Aは、final修飾子により、"継承不可"となる。 classをfinalすれば、そのclassから派生するクラスが「作れない」ことが保証される。 仮想関数もfinal 仮想関数(virtual)もfinalできる。 クラスAから派生したクラスBは…