<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<oembed>
  <author_name>BCC</author_name>
  <author_url>https://blog.hatena.ne.jp/BCC/</author_url>
  <blog_title>人生に疲れた男のblog</blog_title>
  <blog_url>https://bcc.hatenablog.com/</blog_url>
  <categories>
  </categories>
  <description>先に概要を書くと caseの値は連番かつ昇順(上から小さい数で下に行くほど増えていく)となるように心がける。ある程度caseが多ければあとは勝手にコンパイラがテーブルジャンプ最適化を行う。 goto文やreturn文などでswitch文途中から抜けないようにする。あるとテーブルジャンプ最適化が行われない。 MSVC(Visual Studio)でコンパイルする場合、default:の箇所に__assume(0);と記述すれば上記二つを無視して強制的にテーブルジャンプ最適化が行われる。ただし、goto・return等でのswitch抜けがあるまま実行すると例外エラーが発生する。 追記：上記の__…</description>
  <height>190</height>
  <html>&lt;iframe src=&quot;https://hatenablog-parts.com/embed?url=https%3A%2F%2Fbcc.hatenablog.com%2Fentry%2F2022%2F10%2F14%2F214411&quot; title=&quot;C / C++ 言語のswitch文を最適化 (テーブルジャンプが使われるようにする) - 人生に疲れた男のblog&quot; class=&quot;embed-card embed-blogcard&quot; scrolling=&quot;no&quot; frameborder=&quot;0&quot; style=&quot;display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;&quot;&gt;&lt;/iframe&gt;</html>
  <image_url>https://cdn-ak.f.st-hatena.com/images/fotolife/B/BCC/20221014/20221014201814.png</image_url>
  <provider_name>Hatena Blog</provider_name>
  <provider_url>https://hatena.blog</provider_url>
  <published>2022-10-14 21:44:11</published>
  <title>C / C++ 言語のswitch文を最適化 (テーブルジャンプが使われるようにする)</title>
  <type>rich</type>
  <url>https://bcc.hatenablog.com/entry/2022/10/14/214411</url>
  <version>1.0</version>
  <width>100%</width>
</oembed>
