2018-03-01から1ヶ月間の記事一覧

C++17: 動的メモリ確保とアライメント

C++

背景 アライメントまわりのことを調べていたらC++17でaligned_allocとnewの新しいオーバーロードが入っていたようで、少し規格書(N4659)と元になったP0035R4にあたってみることにした。 (最初C++2aのN4727を見て書いていたのでN4659を確認したが、内容に…

記憶と夢とストリートビュー

技術記事ではない。 知人と、互いが昔住んでいた町をグーグルストリートビューで見ながら紹介するという遊びをした。ここを曲がると昔よく遊んだ公園があって、ここを曲がると帰り道で寄っていたお店が……。なくなっていた店もあったし、改装で様変わりした建…

メモリ上での配置に関して、多次元配列と構造体の配列の比較

最近少しアライメントのことを考えているが、古めの書籍だと多次元配列のメモリ配置の説明が必ずと言っていいほどされていて、メモリアクセスが律速になる場合(殆どのケースだ)には次元の順序に十分注意せよと書かれている。 キャッシュ効率のことなどを考…

zip_iteratorとstd::iter_swap

C++

少し頑張って解決しようとした問題が実は解決できないことに気づいてしまったお話 TL;DR: std::iter_swapをフック可能にしてほしい。 背景 配列が二つあったとして、その片方をキーとして使って、両方の配列を同時にsortしたいと言う気持ちがある。 v1 = {4,…