C++
出力用のoperatorを書いていて,ちょっとハマりました.[Wandbox]三へ( へ՞ਊ ՞)へ ハッハッ サブクラスで表示内容を変更したい(使う側はスーパークラスとしてのみ扱いたい) どうせなら各種ostreamに対応させたい と思ったんですが,「仮想メンバ関数テンプレー…
Boost.勉強会 #14 東京 : ATND補欠から昇格できたようなので,ドキドキしつつ初参加します. 皆様どうぞよろしくお願いします.
「初期化リスト」. Ideone.com - YEX9jh - Online C++0x Compiler & Debugging Tool
「可変個引数テンプレート」. Ideone.com - ht1gJp - Online C++0x Compiler & Debugging Tool
非静的メンバ初期化子 Ideone.com - 6r5ja7 - Online C++0x Compiler & Debugging Tool
「rvalueによるクラスオブジェクトの初期化」. Ideone.com - bcRKnw - Online C++0x Compiler & Debugging Tool
先日(5/31),gcc4.8.1が出たようで. ついにリリースバージョンでC++11のコア機能が全て実装されました. clangの方が全機能の実装がコミットされたのは早かったように記憶してますが, リリースは先を越されたみたいですね. そのclangも3.3のリリースが6/5…
ちまちま埋めてく.
「右辺値参照」 Ideone.com - 9GodmI - Online C++0x Compiler & Debugging Tool
clangのconfigure失敗 - yuhsylphyの日記,どうやら解決. いずれかのバージョンのclangがパスに残っているとそちらを使おうとしてしまい, Cのヘッダの幾つかが見つからなくなる様子. clangも自己をビルドできるようになった,って話のはずですけども…まあ…
色々終わったので1.53.0で追加されたライブラリをいじってみる。
何度となく議論の的になっているのをみかけているので、 自分なりの理解で書いてみました。 Ideone.com - WWpxwT - Online C++0x Compiler & Debugging Tool
新しいのでビルドしなおした時に調べ直すのが面倒だったのでメモ. gccは-vオプションで出力してくれますけど,clangは自身が作られた時のオプションどこかで見れないんですかね.
こんなコードを書きたかった. auto min = boost::min_element(rng | boost::adaptors::indexed(0), pred); // error auto i = min.index(); Rangeが何であれindexedを通すとSinglePassRangeになってしまうんですね. でもってmin_elementは比較のために複数…
transform_viewは生成できますがそこから何してもエラー. 戻り値型の推論でこけてるみたいだけれど,さっぱりわかりません. 何か変な勘違いしてますかねえ…保留. int main(int, char*[]) { struct str { template<typename T> auto operator()(T const& x) const -> s</typename>…
tupleの型操作がうまく簡単に書けなくて,ヒントを探していたら見かけた typename Func<Seq>::type... という記法に目が飛び出ました. packされたままメタ関数に渡して戻り型をunpackなんてできたんですね… 通りで,やろうとしても激しくメタメタしくなるわけで</seq>…
range adaptorを作ろうとしてるときに考えていたのが発端. 与えたrangeから何かしら別のrangeを作って返すようなことがしたい時,既に存在するrangeを渡すこともあればboost::irangeなんかで作ったrvalue refなrangeを渡したくなることもあります. パラメ…
型名には限らないんでしょうけど。 そのうちちゃんと関数にしておきましょうかね。 #include <cxxabi.h> auto demangle = [](const char* str) -> const char* { static int sta; return abi::__cxa_demangle(str, 0, 0, &sta); }; cout << demangle(typeid(ごにょごに</cxxabi.h>…
ProjectEuler_cpp/problem018.cpp at master · YuhSylphy/ProjectEuler_cpp · GitHub
ProjectEuler_cpp/problem017.cpp at master · YuhSylphy/ProjectEuler_cpp · GitHub
ProjectEuler_cpp/problem016.cpp at master · YuhSylphy/ProjectEuler_cpp · GitHub
ProjectEuler_cpp/problem015.cpp at master · YuhSylphy/ProjectEuler_cpp · GitHub
NativeなC++で手軽にGUIを記述できるようになりたい。 チュートリアルを動かしてみていますが、 Qt3以前のままの古い記述が多くそのまま動かないものばかり。 サボってないで英語の情報探さなきゃ効率悪そうですね。
クイックソート - 西尾泰和のはてなダイアリーを見かけたので書いてみました. Ideone.com - xIKQ6 - Online C++0x Compiler & Debugging Tool
環境判定専用というより各コンパイラのバージョンを定義するもの. MSVC _MSC_VER GCC __GNUC__
まだ結構な頻度でこういうのあるんだっけ?ってなるのでリファレンスから引っ張ってきてメモ。
boostタグつけてますがそのものではなくOvenToBoostプロジェクトの話.
ProjectEuler_cpp/problem014.cpp at master · YuhSylphy/ProjectEuler_cpp · GitHub
http://d.hatena.ne.jp/faith_and_brave/20120530/1338361580 を見て便利そうに思えたので,自分用に動けばいいや程度に作りました.
https://github.com/YuhSylphy/ProjectEuler_cpp/blob/master/problem013.cpp