Some data structures like binomial heaps and red/black trees are actually easier to code up in a purely functional setting. Some new structures (like skew ...
開催概要 Boost C++ Librariesという、C++の有名なライブラリ群を中心とした、C++全般の勉強会です。 Boostに限らず、C++全般の話、QtやOpenCVのような他のライブラリ、自分が作ったプログラムの紹介、その他C++プログラマに知っておいてもらいたいことの紹介(データ構造やアルゴリズム、イディオム、プログラムの設計やデザインパターン、他の言語での考え方やアプローチ)など、幅広いテーマを扱っています。 Boost.勉強会でこれまでに行われた発表は こちら 。 会場までの道程 こちらをご確認下さい 会場の設備について 会場には貸し出し出来るインターネット接続がありません 会場には電源がありますが、数に限りがあるのでOAタップを持って来れる方は持参して頂けると助かります VGAまたはHDMIで入力可能なプロジェクタがあります 参加費 無料 定員 42 名 (先着順) セ
サイボウズ・ラボの光成です。 今年の1月から『Effective Modern C++』(Scott Meyers)の読書会を社外の人を含めて月1回のペースで始め、先月末に無事最後まで終わりました。 その感想をざっと紹介いたします。 『Effective Modern C++』(以下EMCと略)はC++11/C++14で追加された様々な新しい機能について紹介する本です。 従って、C++の全くの初心者が読むには少々難しいと思います。以前のC++にある程度習熟した人が、新機能の注意点を勉強したいというときに使うとよいでしょう。 本には重要な間違いもいくつか指摘されていますので正誤表の確認はしておきましょう。 なおこの9月には日本語版(千住治郎訳)も登場しています。こちらは7月時点で原書に見つかっている正誤表が反映されていてうれしいですね。 C++11ではautoの型推論、typedefより高機
一部 こちらの続き。その後 いくつかプルリクを送り、XGBoost と pandas を連携させて使えるようになってきたため、その内容を書きたい。 sinhrks.hatenablog.com できるようになったことは 以下 3 点。 DMatrix でのラベルと型の指定 pd.DataFrame からの DMatrix の作成 xgb.cv の結果を pd.DataFrame として取得 補足 XGBoost では PyPI の更新をスクリプトで不定期にやっているようで、同一バージョンに見えても枝番が振られていたりして見分けにくい。記載は本日時点のこのコミットの情報。 %matplotlib inline import numpy as np import xgboost as xgb from sklearn import datasets import matplotlib.pypl
x32とは、現在規格制定や開発が進められている、新しいABIである。これは、32bit ABIのx86と、64bit ABIのx86_64のいいとこ取りを狙ったABIである。 x86_64の利点は多数ある。まず、汎用レジスタが増える。CPUによるレジスタリネーミングだとかなんだとかいって、CPU側でこっそり隠しレジスタを用意して差し替える仕組みもあったが、やはり汎用レジスタの増加は、わかりやすいパフォーマンスアップに繋がる。もちろん、レジスタが増えるという事は、それだけプロセス切り替えのコストもかかるのだが、それを差し引いても、一部の純粋な数値演算のパフォーマンス向上は得られる。 また、仮想アドレス空間が大幅に広くなるのもすばらしい。実際、一部のソフトウェアでは、仮想アドレス空間が足りないという問題はすでに起きていた。確かに、PAEを使えば36bitのアドレス空間が得られるが、やはり一つの
21st Century C by Ben Klemens was a great read. It had a section with an intro to autotools, git, and gdb. There are a few other useful tools that came to mind that I’ve used when working with C and C++ codebases. These tools are a great way to start contributing to Open Source C & C++ codebases; running these tools on the code or adding them to the codebases. A lot of these favor command line, op
C++1yでは、boost::optionalをベースとしたクラスが提案されています(元々TR2で導入しようと考えられていた)。提案者は、Boost.Optional作者のFernando Cacciolaさん。 このクラスは、intだったら-1を無効値とし、ポインタだったらNULLを…といったプロジェクトの決め事による無効値ではなく、型で無効値を表現するのに使用します。 optional<int> x = 3; // 有効値を代入 x = nullopt; // 無効値にする この提案でのboost::optionalとの相違点は、大きなところでは以下になります: 無効値はnullopt。Boostはnone。 constexpr対応 入出力ストリームの演算子を提供しない emplaceによる構築。Boostではin_place()関数。 入出力ストリームを提供しないのは、現状その振る舞
Boost.Optional Must Go - 野良C++erの雑記帳 Boost.Optional Must Go (2) - 野良C++erの雑記帳 最近、何回かに分けて、 Boost.Optional について、(細かい)不満を日記に書いてきました。 これは別に Boost.Optional が嫌いだから不満を書いた訳ではなく、むしろ その逆、 Boost.Optional が便利な分、逆に不満点が目立つので書いていたわけですが、 よく考えたら、 Boost.Optional の便利さを、纏まった記事で書いていないなー、 と、そう思い至ったので、この辺で Boost.Optional を徹底的に推奨する記事でも書いてみようかな、 というわけで、さんざん既出なネタばかりですが、折角なので書いてみることにしましたよ。 冒頭に挙げた以外で参考になるような記事は、この辺でしょうか: C++
今回はコンストラクタについてのお話です。継承した場合、コンストラクタはどう呼ばれるのでしょうか? それでは、今回の要点です。 基底クラスから順にコンストラクタが呼ばれる。 基底クラスの引数付きコンストラクタを呼ぶには、 実装時に : <基底クラス名>(<実引数リスト>) と書く。 では、いってみましょう。 前回までのプログラムで不思議に思ったことはありませんでしたか? CTextFile にはコンストラクタがありませんでした。 こういう場合は特に何もしないデフォルトコンストラクタが自動的に作られるのですが、m_pfile, m_bCopy メンバの初期化はどうなるんでしょうね? 簡単なプログラムを作って、継承した場合にコンストラクタがどう呼ばれるかを確かめてみましょう。併せて、デストラクタについても確かめてみます。 // Inherit1.cpp #include <iostream.h>
継承には3つのレベルがあります。 public protected private オブジェクト指向的な考え方ではpublic継承はよくis-a関係を表すなどと言われたりしますね。 どら焼き is a 和菓子。 ベジータ is a サイヤ人。 B is a A(びーいずあえー)という関係なのでis-a関係です。 一方、private継承、protected継承はis-a関係ではありません。 is-a関係との対比でhas-a関係、またはis-implemented-in-terms-of関係なんて呼ばれたりします。 public継承以外はB is a Aの関係では無いため、AのポインタにBを代入することはできません。 class A {}; class B : A {}; int main() { A* = new B; // エラー!cannot cast 'B' to its priva
BREW C++ ライブラリ & GUI フレームワーク & XML ミドルウェア / 携帯 Java アプリ圧縮ツール : 株式会社 ソフィア・クレイドル English FAQ C++の基礎 : C++ の基本知識 継承 クラスには継承と呼ばれるメカニズムがあり、これにより既存のクラスの再利用性が高まります。継承を使うと次のようなことが実現できます。 既存クラスに機能を追加した新しいクラスを定義する。 既存クラスの挙動をカスタマイズした新しいクラスを定義する。 ここでは、継承による機能追加について説明します。継承により既存クラスの挙動をカスタマイズするには、継承とともに仮想関数と呼ばれる機構を使用します。仮想関数については後章で解説します。 クラスの継承による機能追加 ここに鉛筆があるとします。鉛筆には芯があり、書くたびにどんどん小さくなっていきます。これをクラスにしてみましょう。 c
ACM/ICPCの2008年度の大会日程が公開されています。 国内予選は2008年7月4日,アジア地区予選会津大会は2008年10月25日~27日でホスト校は会津大学です。 参加登録締め切りは2008年6月20日です。 ここではACM/ICPC(ACM国際大学対抗プログラミングコンテスト: ACM International Collegiate Programming Contest)で 国内予選を突破するために必要な情報を載せています。 ACM/ICPC自体については2006年度の横浜大会のWebサイトなどを読んでください。 結局のところ,ACM/ICPCで良い成績を残すにはひたすら問題を解く練習をするしかありません。 ですが,出題される問題の多くはいくつかのカテゴリ,例えば探索問題やグラフ問題,あるいは幾何問題などに分類することができます。 つまり,「傾向と対策」が存在します。 本サ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く