aboutsummaryrefslogtreecommitdiffhomepage
path: root/services/nuldoc/public/blog/posts/2021-10-02/cpp-you-can-use-keywords-in-attributes
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2026-02-01 02:28:10 +0900
committernsfisis <nsfisis@gmail.com>2026-02-01 02:28:10 +0900
commitcd16ed5d6b46d91ae9ac7b2237d6405ad6715a4a (patch)
tree0e00d7caf3031fa86decaa0cbc226cc1e521b914 /services/nuldoc/public/blog/posts/2021-10-02/cpp-you-can-use-keywords-in-attributes
parentd08e3edb65b215152aa26e3518fb2f2cd7071c4b (diff)
parent1964f77d03eb647dcf46d63dde68d7ae7301604f (diff)
downloadnsfisis.dev-cd16ed5d6b46d91ae9ac7b2237d6405ad6715a4a.tar.gz
nsfisis.dev-cd16ed5d6b46d91ae9ac7b2237d6405ad6715a4a.tar.zst
nsfisis.dev-cd16ed5d6b46d91ae9ac7b2237d6405ad6715a4a.zip
Merge branch 'feat/ruby-rewrite'
Diffstat (limited to 'services/nuldoc/public/blog/posts/2021-10-02/cpp-you-can-use-keywords-in-attributes')
-rw-r--r--services/nuldoc/public/blog/posts/2021-10-02/cpp-you-can-use-keywords-in-attributes/index.html56
1 files changed, 30 insertions, 26 deletions
diff --git a/services/nuldoc/public/blog/posts/2021-10-02/cpp-you-can-use-keywords-in-attributes/index.html b/services/nuldoc/public/blog/posts/2021-10-02/cpp-you-can-use-keywords-in-attributes/index.html
index 79f7ebdd..57412b03 100644
--- a/services/nuldoc/public/blog/posts/2021-10-02/cpp-you-can-use-keywords-in-attributes/index.html
+++ b/services/nuldoc/public/blog/posts/2021-10-02/cpp-you-can-use-keywords-in-attributes/index.html
@@ -72,40 +72,43 @@
タイトル落ち。まずはこのコードを見て欲しい。
</p>
<div class="codeblock">
- <pre class="shiki github-light" style="background-color:#f5f5f5;color:#24292e" tabindex="0"><code><span class="line"><span style="color:#D73A49">#include</span><span style="color:#032F62"> &#x3C;iostream></span></span>
-<span class="line"></span>
-<span class="line"><span style="color:#005CC5">[[</span><span style="color:#6F42C1">alignas</span><span style="color:#005CC5">]]</span><span style="color:#005CC5"> [[</span><span style="color:#6F42C1">alignof</span><span style="color:#005CC5">]]</span><span style="color:#005CC5"> [[</span><span style="color:#6F42C1">and</span><span style="color:#005CC5">]]</span><span style="color:#005CC5"> [[</span><span style="color:#6F42C1">and_eq</span><span style="color:#005CC5">]]</span><span style="color:#005CC5"> [[</span><span style="color:#6F42C1">asm</span><span style="color:#005CC5">]]</span><span style="color:#005CC5"> [[</span><span style="color:#6F42C1">auto</span><span style="color:#005CC5">]]</span><span style="color:#005CC5"> [[</span><span style="color:#6F42C1">bitand</span><span style="color:#005CC5">]]</span></span>
-<span class="line"><span style="color:#005CC5">[[</span><span style="color:#6F42C1">bitor</span><span style="color:#005CC5">]]</span><span style="color:#005CC5"> [[</span><span style="color:#6F42C1">bool</span><span style="color:#005CC5">]]</span><span style="color:#005CC5"> [[</span><span style="color:#6F42C1">break</span><span style="color:#005CC5">]]</span><span style="color:#005CC5"> [[</span><span style="color:#6F42C1">case</span><span style="color:#005CC5">]]</span><span style="color:#005CC5"> [[</span><span style="color:#6F42C1">catch</span><span style="color:#005CC5">]]</span><span style="color:#005CC5"> [[</span><span style="color:#6F42C1">char</span><span style="color:#005CC5">]]</span><span style="color:#005CC5"> [[</span><span style="color:#6F42C1">char16_t</span><span style="color:#005CC5">]]</span></span>
-<span class="line"><span style="color:#005CC5">[[</span><span style="color:#6F42C1">char32_t</span><span style="color:#005CC5">]]</span><span style="color:#005CC5"> [[</span><span style="color:#6F42C1">class</span><span style="color:#005CC5">]]</span><span style="color:#005CC5"> [[</span><span style="color:#6F42C1">compl</span><span style="color:#005CC5">]]</span><span style="color:#005CC5"> [[</span><span style="color:#6F42C1">const</span><span style="color:#005CC5">]]</span><span style="color:#005CC5"> [[</span><span style="color:#6F42C1">const_cast</span><span style="color:#005CC5">]]</span><span style="color:#005CC5"> [[</span><span style="color:#6F42C1">constexpr</span><span style="color:#005CC5">]]</span></span>
-<span class="line"><span style="color:#005CC5">[[</span><span style="color:#6F42C1">continue</span><span style="color:#005CC5">]]</span><span style="color:#005CC5"> [[</span><span style="color:#6F42C1">decltype</span><span style="color:#005CC5">]]</span><span style="color:#005CC5"> [[</span><span style="color:#6F42C1">default</span><span style="color:#005CC5">]]</span><span style="color:#005CC5"> [[</span><span style="color:#6F42C1">delete</span><span style="color:#005CC5">]]</span><span style="color:#005CC5"> [[</span><span style="color:#6F42C1">do</span><span style="color:#005CC5">]]</span><span style="color:#005CC5"> [[</span><span style="color:#6F42C1">double</span><span style="color:#005CC5">]]</span></span>
-<span class="line"><span style="color:#005CC5">[[</span><span style="color:#6F42C1">dynamic_cast</span><span style="color:#005CC5">]]</span><span style="color:#005CC5"> [[</span><span style="color:#6F42C1">else</span><span style="color:#005CC5">]]</span><span style="color:#005CC5"> [[</span><span style="color:#6F42C1">enum</span><span style="color:#005CC5">]]</span><span style="color:#005CC5"> [[</span><span style="color:#6F42C1">explicit</span><span style="color:#005CC5">]]</span><span style="color:#005CC5"> [[</span><span style="color:#6F42C1">export</span><span style="color:#005CC5">]]</span><span style="color:#005CC5"> [[</span><span style="color:#6F42C1">extern</span><span style="color:#005CC5">]]</span><span style="color:#005CC5"> [[</span><span style="color:#6F42C1">false</span><span style="color:#005CC5">]]</span></span>
-<span class="line"><span style="color:#005CC5">[[</span><span style="color:#6F42C1">final</span><span style="color:#005CC5">]]</span><span style="color:#005CC5"> [[</span><span style="color:#6F42C1">float</span><span style="color:#005CC5">]]</span><span style="color:#005CC5"> [[</span><span style="color:#6F42C1">for</span><span style="color:#005CC5">]]</span><span style="color:#005CC5"> [[</span><span style="color:#6F42C1">friend</span><span style="color:#005CC5">]]</span><span style="color:#005CC5"> [[</span><span style="color:#6F42C1">goto</span><span style="color:#005CC5">]]</span><span style="color:#005CC5"> [[</span><span style="color:#6F42C1">if</span><span style="color:#005CC5">]]</span><span style="color:#005CC5"> [[</span><span style="color:#6F42C1">inline</span><span style="color:#005CC5">]]</span><span style="color:#005CC5"> [[</span><span style="color:#6F42C1">int</span><span style="color:#005CC5">]]</span></span>
-<span class="line"><span style="color:#005CC5">[[</span><span style="color:#6F42C1">long</span><span style="color:#005CC5">]]</span><span style="color:#005CC5"> [[</span><span style="color:#6F42C1">mutable</span><span style="color:#005CC5">]]</span><span style="color:#005CC5"> [[</span><span style="color:#6F42C1">namespace</span><span style="color:#005CC5">]]</span><span style="color:#005CC5"> [[</span><span style="color:#6F42C1">new</span><span style="color:#005CC5">]]</span><span style="color:#005CC5"> [[</span><span style="color:#6F42C1">noexcept</span><span style="color:#005CC5">]]</span><span style="color:#005CC5"> [[</span><span style="color:#6F42C1">not</span><span style="color:#005CC5">]]</span><span style="color:#005CC5"> [[</span><span style="color:#6F42C1">not_eq</span><span style="color:#005CC5">]]</span></span>
-<span class="line"><span style="color:#005CC5">[[</span><span style="color:#6F42C1">nullptr</span><span style="color:#005CC5">]]</span><span style="color:#005CC5"> [[</span><span style="color:#6F42C1">operator</span><span style="color:#005CC5">]]</span><span style="color:#005CC5"> [[</span><span style="color:#6F42C1">or</span><span style="color:#005CC5">]]</span><span style="color:#005CC5"> [[</span><span style="color:#6F42C1">or_eq</span><span style="color:#005CC5">]]</span><span style="color:#005CC5"> [[</span><span style="color:#6F42C1">override</span><span style="color:#005CC5">]]</span><span style="color:#005CC5"> [[</span><span style="color:#6F42C1">private</span><span style="color:#005CC5">]]</span></span>
-<span class="line"><span style="color:#005CC5">[[</span><span style="color:#6F42C1">protected</span><span style="color:#005CC5">]]</span><span style="color:#005CC5"> [[</span><span style="color:#6F42C1">public</span><span style="color:#005CC5">]]</span><span style="color:#005CC5"> [[</span><span style="color:#6F42C1">register</span><span style="color:#005CC5">]]</span><span style="color:#005CC5"> [[</span><span style="color:#6F42C1">reinterpret_cast</span><span style="color:#005CC5">]]</span><span style="color:#005CC5"> [[</span><span style="color:#6F42C1">return</span><span style="color:#005CC5">]]</span><span style="color:#005CC5"> [[</span><span style="color:#6F42C1">short</span><span style="color:#005CC5">]]</span></span>
-<span class="line"><span style="color:#005CC5">[[</span><span style="color:#6F42C1">signed</span><span style="color:#005CC5">]]</span><span style="color:#005CC5"> [[</span><span style="color:#6F42C1">sizeof</span><span style="color:#005CC5">]]</span><span style="color:#005CC5"> [[</span><span style="color:#6F42C1">static</span><span style="color:#005CC5">]]</span><span style="color:#005CC5"> [[</span><span style="color:#6F42C1">static_assert</span><span style="color:#005CC5">]]</span><span style="color:#005CC5"> [[</span><span style="color:#6F42C1">static_cast</span><span style="color:#005CC5">]]</span><span style="color:#005CC5"> [[</span><span style="color:#6F42C1">struct</span><span style="color:#005CC5">]]</span></span>
-<span class="line"><span style="color:#005CC5">[[</span><span style="color:#6F42C1">switch</span><span style="color:#005CC5">]]</span><span style="color:#005CC5"> [[</span><span style="color:#6F42C1">template</span><span style="color:#005CC5">]]</span><span style="color:#005CC5"> [[</span><span style="color:#6F42C1">this</span><span style="color:#005CC5">]]</span><span style="color:#005CC5"> [[</span><span style="color:#6F42C1">thread_local</span><span style="color:#005CC5">]]</span><span style="color:#005CC5"> [[</span><span style="color:#6F42C1">throw</span><span style="color:#005CC5">]]</span><span style="color:#005CC5"> [[</span><span style="color:#6F42C1">true</span><span style="color:#005CC5">]]</span><span style="color:#005CC5"> [[</span><span style="color:#6F42C1">try</span><span style="color:#005CC5">]]</span></span>
-<span class="line"><span style="color:#005CC5">[[</span><span style="color:#6F42C1">typedef</span><span style="color:#005CC5">]]</span><span style="color:#005CC5"> [[</span><span style="color:#6F42C1">typeid</span><span style="color:#005CC5">]]</span><span style="color:#005CC5"> [[</span><span style="color:#6F42C1">typename</span><span style="color:#005CC5">]]</span><span style="color:#005CC5"> [[</span><span style="color:#6F42C1">union</span><span style="color:#005CC5">]]</span><span style="color:#005CC5"> [[</span><span style="color:#6F42C1">unsigned</span><span style="color:#005CC5">]]</span></span>
-<span class="line"><span style="color:#005CC5">[[</span><span style="color:#6F42C1">virtual</span><span style="color:#005CC5">]]</span><span style="color:#005CC5"> [[</span><span style="color:#6F42C1">void</span><span style="color:#005CC5">]]</span><span style="color:#005CC5"> [[</span><span style="color:#6F42C1">volatile</span><span style="color:#005CC5">]]</span><span style="color:#005CC5"> [[</span><span style="color:#6F42C1">wchar_t</span><span style="color:#005CC5">]]</span><span style="color:#005CC5"> [[</span><span style="color:#6F42C1">while</span><span style="color:#005CC5">]]</span><span style="color:#005CC5"> [[</span><span style="color:#6F42C1">xor</span><span style="color:#005CC5">]]</span><span style="color:#005CC5"> [[</span><span style="color:#6F42C1">xor_eq</span><span style="color:#005CC5">]]</span></span>
-<span class="line"><span style="color:#6A737D">// [[using]]</span></span>
-<span class="line"><span style="color:#D73A49">int</span><span style="color:#6F42C1"> main</span><span style="color:#24292E">() {</span></span>
-<span class="line"><span style="color:#6F42C1"> std</span><span style="color:#24292E">::cout </span><span style="color:#D73A49">&#x3C;&#x3C;</span><span style="color:#032F62"> "Hello, World!"</span><span style="color:#D73A49"> &#x3C;&#x3C;</span><span style="color:#6F42C1"> std</span><span style="color:#24292E">::endl;</span></span>
-<span class="line"><span style="color:#24292E">}</span></span></code></pre>
+ <pre class="highlight" style="background-color:#f5f5f5"><code><span style="color: #6e7781">#include</span> <span style="color: #6e7781">&lt;iostream&gt;</span><span style="color: #6e7781">
+</span>
+<span style="color: #24292f;background-color: #f6f8fa">[[</span><span style="color: #cf222e">alignas</span><span style="color: #24292f;background-color: #f6f8fa">]]</span> <span style="color: #24292f;background-color: #f6f8fa">[[</span><span style="color: #cf222e">alignof</span><span style="color: #24292f;background-color: #f6f8fa">]]</span> <span style="color: #24292f;background-color: #f6f8fa">[[</span><span style="color: #24292f;background-color: #f6f8fa">and</span><span style="color: #24292f;background-color: #f6f8fa">]]</span> <span style="color: #24292f;background-color: #f6f8fa">[[</span><span style="color: #24292f;background-color: #f6f8fa">and_eq</span><span style="color: #24292f;background-color: #f6f8fa">]]</span> <span style="color: #24292f;background-color: #f6f8fa">[[</span><span style="color: #cf222e">asm</span><span style="color: #24292f;background-color: #f6f8fa">]]</span> <span style="color: #24292f;background-color: #f6f8fa">[[</span><span style="color: #cf222e">auto</span><span style="color: #24292f;background-color: #f6f8fa">]]</span> <span style="color: #24292f;background-color: #f6f8fa">[[</span><span style="color: #24292f;background-color: #f6f8fa">bitand</span><span style="color: #24292f;background-color: #f6f8fa">]]</span>
+<span style="color: #24292f;background-color: #f6f8fa">[[</span><span style="color: #24292f;background-color: #f6f8fa">bitor</span><span style="color: #24292f;background-color: #f6f8fa">]]</span> <span style="color: #24292f;background-color: #f6f8fa">[[</span><span style="color: #cf222e">bool</span><span style="color: #24292f;background-color: #f6f8fa">]]</span> <span style="color: #24292f;background-color: #f6f8fa">[[</span><span style="color: #cf222e">break</span><span style="color: #24292f;background-color: #f6f8fa">]]</span> <span style="color: #24292f;background-color: #f6f8fa">[[</span><span style="color: #cf222e">case</span><span style="color: #24292f;background-color: #f6f8fa">]]</span> <span style="color: #24292f;background-color: #f6f8fa">[[</span><span style="color: #cf222e">catch</span><span style="color: #24292f;background-color: #f6f8fa">]]</span> <span style="color: #24292f;background-color: #f6f8fa">[[</span><span style="color: #cf222e">char</span><span style="color: #24292f;background-color: #f6f8fa">]]</span> <span style="color: #24292f;background-color: #f6f8fa">[[</span><span style="color: #cf222e">char16_t</span><span style="color: #24292f;background-color: #f6f8fa">]]</span>
+<span style="color: #24292f;background-color: #f6f8fa">[[</span><span style="color: #cf222e">char32_t</span><span style="color: #24292f;background-color: #f6f8fa">]]</span> <span style="color: #24292f;background-color: #f6f8fa">[[</span><span style="color: #cf222e">class</span><span style="color: #24292f;background-color: #f6f8fa">]]</span> <span style="color: #24292f;background-color: #f6f8fa">[[</span><span style="color: #24292f;background-color: #f6f8fa">compl</span><span style="color: #24292f;background-color: #f6f8fa">]]</span> <span style="color: #24292f;background-color: #f6f8fa">[[</span><span style="color: #cf222e">const</span><span style="color: #24292f;background-color: #f6f8fa">]]</span> <span style="color: #24292f;background-color: #f6f8fa">[[</span><span style="color: #cf222e">const_cast</span><span style="color: #24292f;background-color: #f6f8fa">]]</span> <span style="color: #24292f;background-color: #f6f8fa">[[</span><span style="color: #cf222e">constexpr</span><span style="color: #24292f;background-color: #f6f8fa">]]</span>
+<span style="color: #24292f;background-color: #f6f8fa">[[</span><span style="color: #cf222e">continue</span><span style="color: #24292f;background-color: #f6f8fa">]]</span> <span style="color: #24292f;background-color: #f6f8fa">[[</span><span style="color: #cf222e">decltype</span><span style="color: #24292f;background-color: #f6f8fa">]]</span> <span style="color: #24292f;background-color: #f6f8fa">[[</span><span style="color: #cf222e">default</span><span style="color: #24292f;background-color: #f6f8fa">]]</span> <span style="color: #24292f;background-color: #f6f8fa">[[</span><span style="color: #cf222e">delete</span><span style="color: #24292f;background-color: #f6f8fa">]]</span> <span style="color: #24292f;background-color: #f6f8fa">[[</span><span style="color: #cf222e">do</span><span style="color: #24292f;background-color: #f6f8fa">]]</span> <span style="color: #24292f;background-color: #f6f8fa">[[</span><span style="color: #cf222e">double</span><span style="color: #24292f;background-color: #f6f8fa">]]</span>
+<span style="color: #24292f;background-color: #f6f8fa">[[</span><span style="color: #cf222e">dynamic_cast</span><span style="color: #24292f;background-color: #f6f8fa">]]</span> <span style="color: #24292f;background-color: #f6f8fa">[[</span><span style="color: #cf222e">else</span><span style="color: #24292f;background-color: #f6f8fa">]]</span> <span style="color: #24292f;background-color: #f6f8fa">[[</span><span style="color: #cf222e">enum</span><span style="color: #24292f;background-color: #f6f8fa">]]</span> <span style="color: #24292f;background-color: #f6f8fa">[[</span><span style="color: #cf222e">explicit</span><span style="color: #24292f;background-color: #f6f8fa">]]</span> <span style="color: #24292f;background-color: #f6f8fa">[[</span><span style="color: #cf222e">export</span><span style="color: #24292f;background-color: #f6f8fa">]]</span> <span style="color: #24292f;background-color: #f6f8fa">[[</span><span style="color: #cf222e">extern</span><span style="color: #24292f;background-color: #f6f8fa">]]</span> <span style="color: #24292f;background-color: #f6f8fa">[[</span><span style="color: #953800">false</span><span style="color: #24292f;background-color: #f6f8fa">]]</span>
+<span style="color: #24292f;background-color: #f6f8fa">[[</span><span style="color: #cf222e">final</span><span style="color: #24292f;background-color: #f6f8fa">]]</span> <span style="color: #24292f;background-color: #f6f8fa">[[</span><span style="color: #cf222e">float</span><span style="color: #24292f;background-color: #f6f8fa">]]</span> <span style="color: #24292f;background-color: #f6f8fa">[[</span><span style="color: #cf222e">for</span><span style="color: #24292f;background-color: #f6f8fa">]]</span> <span style="color: #24292f;background-color: #f6f8fa">[[</span><span style="color: #cf222e">friend</span><span style="color: #24292f;background-color: #f6f8fa">]]</span> <span style="color: #24292f;background-color: #f6f8fa">[[</span><span style="color: #cf222e">goto</span><span style="color: #24292f;background-color: #f6f8fa">]]</span> <span style="color: #24292f;background-color: #f6f8fa">[[</span><span style="color: #cf222e">if</span><span style="color: #24292f;background-color: #f6f8fa">]]</span> <span style="color: #24292f;background-color: #f6f8fa">[[</span><span style="color: #cf222e">inline</span><span style="color: #24292f;background-color: #f6f8fa">]]</span> <span style="color: #24292f;background-color: #f6f8fa">[[</span><span style="color: #cf222e">int</span><span style="color: #24292f;background-color: #f6f8fa">]]</span>
+<span style="color: #24292f;background-color: #f6f8fa">[[</span><span style="color: #cf222e">long</span><span style="color: #24292f;background-color: #f6f8fa">]]</span> <span style="color: #24292f;background-color: #f6f8fa">[[</span><span style="color: #cf222e">mutable</span><span style="color: #24292f;background-color: #f6f8fa">]]</span> <span style="color: #24292f;background-color: #f6f8fa">[[</span><span style="color: #cf222e">namespace</span><span style="color: #24292f;background-color: #f6f8fa">]]</span> <span style="color: #24292f;background-color: #f6f8fa">[[</span><span style="color: #cf222e">new</span><span style="color: #24292f;background-color: #f6f8fa">]]</span> <span style="color: #24292f;background-color: #f6f8fa">[[</span><span style="color: #cf222e">noexcept</span><span style="color: #24292f;background-color: #f6f8fa">]]</span> <span style="color: #24292f;background-color: #f6f8fa">[[</span><span style="color: #24292f;background-color: #f6f8fa">not</span><span style="color: #24292f;background-color: #f6f8fa">]]</span> <span style="color: #24292f;background-color: #f6f8fa">[[</span><span style="color: #24292f;background-color: #f6f8fa">not_eq</span><span style="color: #24292f;background-color: #f6f8fa">]]</span>
+<span style="color: #24292f;background-color: #f6f8fa">[[</span><span style="color: #953800">nullptr</span><span style="color: #24292f;background-color: #f6f8fa">]]</span> <span style="color: #24292f;background-color: #f6f8fa">[[</span><span style="color: #cf222e">operator</span><span style="color: #24292f;background-color: #f6f8fa">]]</span> <span style="color: #24292f;background-color: #f6f8fa">[[</span><span style="color: #24292f;background-color: #f6f8fa">or</span><span style="color: #24292f;background-color: #f6f8fa">]]</span> <span style="color: #24292f;background-color: #f6f8fa">[[</span><span style="color: #24292f;background-color: #f6f8fa">or_eq</span><span style="color: #24292f;background-color: #f6f8fa">]]</span> <span style="color: #24292f;background-color: #f6f8fa">[[</span><span style="color: #cf222e">override</span><span style="color: #24292f;background-color: #f6f8fa">]]</span> <span style="color: #24292f;background-color: #f6f8fa">[[</span><span style="color: #cf222e">private</span><span style="color: #24292f;background-color: #f6f8fa">]]</span>
+<span style="color: #24292f;background-color: #f6f8fa">[[</span><span style="color: #cf222e">protected</span><span style="color: #24292f;background-color: #f6f8fa">]]</span> <span style="color: #24292f;background-color: #f6f8fa">[[</span><span style="color: #cf222e">public</span><span style="color: #24292f;background-color: #f6f8fa">]]</span> <span style="color: #24292f;background-color: #f6f8fa">[[</span><span style="color: #cf222e">register</span><span style="color: #24292f;background-color: #f6f8fa">]]</span> <span style="color: #24292f;background-color: #f6f8fa">[[</span><span style="color: #cf222e">reinterpret_cast</span><span style="color: #24292f;background-color: #f6f8fa">]]</span> <span style="color: #24292f;background-color: #f6f8fa">[[</span><span style="color: #cf222e">return</span><span style="color: #24292f;background-color: #f6f8fa">]]</span> <span style="color: #24292f;background-color: #f6f8fa">[[</span><span style="color: #cf222e">short</span><span style="color: #24292f;background-color: #f6f8fa">]]</span>
+<span style="color: #24292f;background-color: #f6f8fa">[[</span><span style="color: #cf222e">signed</span><span style="color: #24292f;background-color: #f6f8fa">]]</span> <span style="color: #24292f;background-color: #f6f8fa">[[</span><span style="color: #cf222e">sizeof</span><span style="color: #24292f;background-color: #f6f8fa">]]</span> <span style="color: #24292f;background-color: #f6f8fa">[[</span><span style="color: #cf222e">static</span><span style="color: #24292f;background-color: #f6f8fa">]]</span> <span style="color: #24292f;background-color: #f6f8fa">[[</span><span style="color: #cf222e">static_assert</span><span style="color: #24292f;background-color: #f6f8fa">]]</span> <span style="color: #24292f;background-color: #f6f8fa">[[</span><span style="color: #cf222e">static_cast</span><span style="color: #24292f;background-color: #f6f8fa">]]</span> <span style="color: #24292f;background-color: #f6f8fa">[[</span><span style="color: #cf222e">struct</span><span style="color: #24292f;background-color: #f6f8fa">]]</span>
+<span style="color: #24292f;background-color: #f6f8fa">[[</span><span style="color: #cf222e">switch</span><span style="color: #24292f;background-color: #f6f8fa">]]</span> <span style="color: #24292f;background-color: #f6f8fa">[[</span><span style="color: #cf222e">template</span><span style="color: #24292f;background-color: #f6f8fa">]]</span> <span style="color: #24292f;background-color: #f6f8fa">[[</span><span style="color: #cf222e">this</span><span style="color: #24292f;background-color: #f6f8fa">]]</span> <span style="color: #24292f;background-color: #f6f8fa">[[</span><span style="color: #cf222e">thread_local</span><span style="color: #24292f;background-color: #f6f8fa">]]</span> <span style="color: #24292f;background-color: #f6f8fa">[[</span><span style="color: #cf222e">throw</span><span style="color: #24292f;background-color: #f6f8fa">]]</span> <span style="color: #24292f;background-color: #f6f8fa">[[</span><span style="color: #953800">true</span><span style="color: #24292f;background-color: #f6f8fa">]]</span> <span style="color: #24292f;background-color: #f6f8fa">[[</span><span style="color: #cf222e">try</span><span style="color: #24292f;background-color: #f6f8fa">]]</span>
+<span style="color: #24292f;background-color: #f6f8fa">[[</span><span style="color: #cf222e">typedef</span><span style="color: #24292f;background-color: #f6f8fa">]]</span> <span style="color: #24292f;background-color: #f6f8fa">[[</span><span style="color: #cf222e">typeid</span><span style="color: #24292f;background-color: #f6f8fa">]]</span> <span style="color: #24292f;background-color: #f6f8fa">[[</span><span style="color: #cf222e">typename</span><span style="color: #24292f;background-color: #f6f8fa">]]</span> <span style="color: #24292f;background-color: #f6f8fa">[[</span><span style="color: #cf222e">union</span><span style="color: #24292f;background-color: #f6f8fa">]]</span> <span style="color: #24292f;background-color: #f6f8fa">[[</span><span style="color: #cf222e">unsigned</span><span style="color: #24292f;background-color: #f6f8fa">]]</span>
+<span style="color: #24292f;background-color: #f6f8fa">[[</span><span style="color: #cf222e">virtual</span><span style="color: #24292f;background-color: #f6f8fa">]]</span> <span style="color: #24292f;background-color: #f6f8fa">[[</span><span style="color: #cf222e">void</span><span style="color: #24292f;background-color: #f6f8fa">]]</span> <span style="color: #24292f;background-color: #f6f8fa">[[</span><span style="color: #cf222e">volatile</span><span style="color: #24292f;background-color: #f6f8fa">]]</span> <span style="color: #24292f;background-color: #f6f8fa">[[</span><span style="color: #cf222e">wchar_t</span><span style="color: #24292f;background-color: #f6f8fa">]]</span> <span style="color: #24292f;background-color: #f6f8fa">[[</span><span style="color: #cf222e">while</span><span style="color: #24292f;background-color: #f6f8fa">]]</span> <span style="color: #24292f;background-color: #f6f8fa">[[</span><span style="color: #24292f;background-color: #f6f8fa">xor</span><span style="color: #24292f;background-color: #f6f8fa">]]</span> <span style="color: #24292f;background-color: #f6f8fa">[[</span><span style="color: #24292f;background-color: #f6f8fa">xor_eq</span><span style="color: #24292f;background-color: #f6f8fa">]]</span>
+<span style="color: #6e7781">// [[using]]</span>
+<span style="color: #cf222e">int</span> <span style="color: #24292f;background-color: #f6f8fa">main</span><span style="color: #24292f;background-color: #f6f8fa">()</span> <span style="color: #24292f;background-color: #f6f8fa">{</span>
+ <span style="color: #24292f;background-color: #f6f8fa">std</span><span style="color: #0550ae">::</span><span style="color: #24292f;background-color: #f6f8fa">cout</span> <span style="color: #0550ae">&lt;&lt;</span> <span style="color: #0a3069">"Hello, World!"</span> <span style="color: #0550ae">&lt;&lt;</span> <span style="color: #24292f;background-color: #f6f8fa">std</span><span style="color: #0550ae">::</span><span style="color: #24292f;background-color: #f6f8fa">endl</span><span style="color: #24292f;background-color: #f6f8fa">;</span>
+<span style="color: #24292f;background-color: #f6f8fa">}</span>
+</code></pre>
</div>
<p>
コンパイラのバージョン
</p>
<div class="codeblock">
- <pre class="shiki github-light" style="background-color:#f5f5f5;color:#24292e" tabindex="0"><code><span class="line"><span>$ clang++ –version Apple clang version 11.0.0</span></span>
-<span class="line"><span>(clang-1100.0.33.8) Target: x86_64-apple-darwin19.6.0 Thread model:</span></span>
-<span class="line"><span>posix InstalledDir:</span></span>
-<span class="line"><span>/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin</span></span></code></pre>
+ <pre class="highlight" style="background-color:#f5f5f5"><code>$ clang++ –version Apple clang version 11.0.0
+(clang-1100.0.33.8) Target: x86_64-apple-darwin19.6.0 Thread model:
+posix InstalledDir:
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
+</code></pre>
</div>
<p>
コンパイルコマンド (C++17 指定)
</p>
<div class="codeblock">
- <pre class="shiki github-light" style="background-color:#f5f5f5;color:#24292e" tabindex="0"><code><span class="line"><span>$ clang –std=c++17 hoge.cpp</span></span></code></pre>
+ <pre class="highlight" style="background-color:#f5f5f5"><code>$ clang –std=c++17 hoge.cpp
+</code></pre>
</div>
<p>
この記事から得られるものはこれ以上ないので以下は蛇足になる。
@@ -135,8 +138,9 @@
上のコードでは <code>[[using]]</code> をコメントアウトしているが、これは <code>using</code> キーワードのみ属性構文の中で意味を持つからであり、このコメントアウトを外すとコンパイルに失敗する。
</p>
<div class="codeblock">
- <pre class="shiki github-light" style="background-color:#f5f5f5;color:#24292e" tabindex="0"><code><span class="line"><span style="color:#6A737D">// using の例</span></span>
-<span class="line"><span style="color:#005CC5">[[</span><span style="color:#D73A49">using</span><span style="color:#6F42C1"> foo</span><span style="color:#005CC5">: </span><span style="color:#6F42C1">attr1</span><span style="color:#005CC5">, </span><span style="color:#6F42C1">attr2</span><span style="color:#005CC5">]]</span><span style="color:#D73A49"> int</span><span style="color:#24292E"> x;</span><span style="color:#6A737D"> // [[foo::attr1, foo::attr2]] の糖衣構文</span></span></code></pre>
+ <pre class="highlight" style="background-color:#f5f5f5"><code><span style="color: #6e7781">// using の例</span>
+<span style="color: #24292f;background-color: #f6f8fa">[[</span><span style="color: #cf222e">using</span> <span style="color: #24292f;background-color: #f6f8fa">foo</span><span style="color: #0550ae">:</span> <span style="color: #24292f;background-color: #f6f8fa">attr1</span><span style="color: #24292f;background-color: #f6f8fa">,</span> <span style="color: #24292f;background-color: #f6f8fa">attr2</span><span style="color: #24292f;background-color: #f6f8fa">]]</span> <span style="color: #cf222e">int</span> <span style="color: #24292f;background-color: #f6f8fa">x</span><span style="color: #24292f;background-color: #f6f8fa">;</span> <span style="color: #6e7781">// [[foo::attr1, foo::attr2]] の糖衣構文</span>
+</code></pre>
</div>
<p>
C++17 の仕様も見てみる (正確には標準化前のドラフト)。