{"blog_url":"https://kubo39.hatenablog.com/","url":"https://kubo39.hatenablog.com/entry/2025/10/05/swap/swapRanges%E3%81%AE%E3%81%AF%E3%81%AA%E3%81%97","height":"190","html":"<iframe src=\"https://hatenablog-parts.com/embed?url=https%3A%2F%2Fkubo39.hatenablog.com%2Fentry%2F2025%2F10%2F05%2Fswap%2FswapRanges%25E3%2581%25AE%25E3%2581%25AF%25E3%2581%25AA%25E3%2581%2597\" title=\"swap/swapRanges\u306e\u306f\u306a\u3057 - kubo39&#39;s blog\" class=\"embed-card embed-blogcard\" scrolling=\"no\" frameborder=\"0\" style=\"display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;\"></iframe>","categories":["D\u8a00\u8a9e"],"type":"rich","title":"swap/swapRanges\u306e\u306f\u306a\u3057","width":"100%","provider_url":"https://hatena.blog","author_name":"kubo39","blog_title":"kubo39's blog","author_url":"https://blog.hatena.ne.jp/kubo39/","version":"1.0","provider_name":"Hatena Blog","description":"\u3075\u3068\u3001swap\u307f\u305f\u3044\u306a\u5358\u7d14\u306a\u30b3\u30fc\u30c9\u3067\u3082\u6a19\u6e96\u30e9\u30a4\u30d6\u30e9\u30ea\u306e\u5b9f\u88c5\u3092\u547c\u3073\u51fa\u3057\u305f\u65b9\u304c\u3044\u3044\u3088\u3001\u3068\u3044\u3046\u4f8b\u3068\u3057\u3066 import core.int128 : Cent; import std.algorithm.mutation : swap; struct Huge { Cent[128] data; alias this = data; } void f(ref Huge x, ref Huge y) { swap(x, y); } \u307f\u305f\u3044\u306a\u30b3\u30fc\u30c9\u3092\u4f7f\u304a\u3046\u3068\u601d\u3063\u305f\u3093\u3060\u3051\u3069\u3001\u305c\u3093\u305c\u3093\u305d\u3093\u306a\u3053\u3068\u306f\u306a\u304b\u3063\u305f\u3002 $ ldc2 -O -c swap.d $ objdump -dr --demangle=dlang -\u2026","published":"2025-10-05 17:41:51","image_url":null}