yohhoyの日記

技術的メモをしていきたい日記

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

Linuxとビット幅指定整数型

C99標準ヘッダ<stdint.h>で定義されるビット幅指定の整数型と、Linux Standard Base(LSB)によるプロセッサ・アーキテクチャ別の規定。x86(IA-32)とx86-64/AMD64における整数型ビット幅は下表の通り(太字はアーキテクチャでビット幅が異なる整数型)。 型名 IA-32 AMD6</stdint.h>…

std::arrayの(ほぼ)constexprネイティブ対応

C++1z(C++17)標準ライブラリのシーケンスコンテナstd::array<T,N>では、ほぼ全てのメンバ関数*1がconstexpr指定される。あわせて、関連するイテレータ型やbegin/end関数群*2へもconstexpr指定が追加される。2019-09-11追記:C++2a(C++20)に向けて (PDF)P1023R0、P</t,n>…

文字列取得バッファとしてのstd::string リターンズ

C++1z(C++17)標準ライブラリの文字列型std::basic_string<charT>クラステンプレートでは、ポインタ型charT*を返す 非const版 dataメンバ関数が追加される。(ポインタ型const charT*を返すconst版dataメンバ関数はC++98から存在している。)まとめ: C++98/03標準ラ</chart>…

std::clamp

C++1z(C++17)標準ライブラリでは、指定区間内に値を制限するstd::clamp関数テンプレートが追加される。*1 #include <algorithm> int b = std::clamp(3, 1, 6); // 3 int a = std::clamp(0, 1, 6); // 1(下限値) int c = std::clamp(8, 1, 6); // 6(上限値) 同様の関数テ</algorithm>…

OpenMP 4.5仕様リリース

2015年11月 OpenMP 4.5仕様リリース記事 OpenMP 4.5 Specs Released より抄訳。たくさんの新機能 デバイスサポートの大幅な改善。OpenMPは非構造化データマッピングと非同期実行のメカニズム、またデバイスメモリ管理のための実行ルーチンを提供するようにな…