日程が決まりました。2019/04/17 (水) 19:00〜21:00です。
前回、抽選期間が長すぎたので、今回は1.5日程度で抽選します。このあたりはまだまだ試行錯誤しています。
日程が決まりました。2019/04/17 (水) 19:00〜21:00です。
前回、抽選期間が長すぎたので、今回は1.5日程度で抽選します。このあたりはまだまだ試行錯誤しています。
Boost 1.69.0がリリースされました。リリースノートはいつものように、日本語訳 + 情報補完したものをboostjpサイトで公開しています。
今回、新ライブラリとして安全な整数演算をするためのライブラリSafe numericsが入りました。
また、ライブラリをビルドするときに、Boost.Buildではデフォルトでvisibilityがhiddenになります。
Boost.Systemがヘッダオンリーになって使いやすくなっています。
その他、リリースノートを参照してください。
Boost 1.68.0がリリースされました。
いつものように、リリースノートの日本語訳 + 情報補完したものを、boostjpサイトで公開しています。
char
配列、char
、std::string
の任意の組み合わせを連結する関数を書きました。メモリ確保を一回だけします。
#include <string> #include <cstring> #include <utility> std::size_t string_length(const std::string& s) noexcept { return s.size(); } std::size_t string_length(const char* s) noexcept { return std::strlen(s); } std::size_t string_length(char) noexcept { return 1; } template <class... Strings> std::string concat_string(Strings&&... strs) { std::string result; std::size_t length = (string_length(strs) + ...); result.reserve(length); ((result += std::move(strs)), ...); return result; } #include <iostream> int main() { std::string result = concat_string("Hello", ' ', std::string("World")); std::cout << result << std::endl; }
出力:
Hello World