derivedC++ で、一方が名前付きで、もう一方baseが最初の基本クラスである名前付きの2 つのクラスを想像してみてください。次のコードがある場合は、これが推奨されます。
base *b = init_value_here;
const derived *d = static_cast<derived *>(b);
また
base *b = init_value_here;
const derived *d = static_cast<const derived *>(b);
言い換えれば、constコンパイラが constness に昇格できるので、不要な場合は static キャストで除外する方が良いですか、それとも将来より簡単にb作成できるように制限を緩めるために含める方が良いですか?const