Function objects − hash (C++11) Swap − Type operations (C++11) Integer comparison (C++20) pair − tuple (C++11) optional (C++17) expected (C++23) variant (C++17) − any (C++17) bitset − Bit manipulation (C++20)
目次 ホーム 連絡をする RSS Login Blog 利用状況 投稿数 - 1078 記事 - 2 コメント - 26196 トラックバック - 363 ニュース 著作とお薦めの品々は 著作とお薦めの品々は 東方熱帯林へ。 わんくま 東京勉強会#2 C++/CLI カクテル・レシピ 東京勉強会#3 template vs. generics 大阪勉強会#6 C++むかしばなし 東京勉強会#7 C++むかしばなし 東京勉強会#8 STL/CLRによるGeneric Programming TechEd 2007 @YOKOHAMA C++・C++/CLI・C# 適材適所 東京勉強会#14 Making of BOF 東京勉強会#15 状態遷移 名古屋勉強会#2 WinUnit - お気楽お手軽UnitTest CodeZine Cで実現する「ぷちオブジェクト指向」 CUnitによるテスト駆
TopCoderの為に少しやる気になってきたところで、Macでフリーで使える C++ のテストフレームワークをいくつか試してみたのでメモ。 CppUnit - C++ Port of JUnit CxxTest googletest - Google C++ Testing Framework Boost.Test CppUnitはテストの記述が若干面倒な気が。表示はシンプルで悪くない。 CxxTestはインストール方法が他と違って少し悩んだが、記述量が少なくて取っつきやすかった。 googletestは記述量が少なめで、赤と緑のカラー表示コンソールで、マクロの種類も豊富。ASSERT マクロと EXPECT マクロの対応も分かりやすい。但し、出たばかりで日本語での情報が少ない。 Boost.Testは普段Boostに慣れ親しんでいるなら良いかも。マクロの種類は多め。 とりあえず、goog
作成日:2004.04.12 更新日:2006.02.19 更新記録 (2004.04.12) 3/6、 3/11、 3/13 の日記をまとめて作成。 (2004.05.07) 文章を修正。サンプルコードを追加。 (2005.01.20) alternative → alterante に修正。 (2005.02.13) 追記を記述。 (2006.02.17) linux_stack_info.cpp の実装に誤りがあったので修正。 (2006.02.19) BSD 系OS でのスタック領域情報の取得の仕方を追加 初めに C/C++ でプログラムをしているとつい忘れてしまうのがスレッドのスタックオーバーフローの問題。 最近の OS はスレッド当たり 2〜8MB のスタック領域を持っているため、よほどのことがない限りスタックが溢れてしまうことはない。 だが、再帰や alloca を積極的に使
はじめに あなたがMFC(Microsoft Foundation Class)の初心者でグラフィック操作に興味があるならば、少なくとも基本的な操作方法を理解できる体系的なチュートリアルが必要でしょう。 本稿は、MFCグラフィックスに関する完璧なチュートリアルというわけにはいきませんが、とりあえず簡単なペイント操作をできるようになるために必要な最低限の情報について説明します。 どのウィンドウにも、ペイント処理に使われるデバイスコンテキストというものが関連付けられています。デバイスコンテキストとは「一連のグラフィックオブジェクトとその属性を定義する役割」と「出力に影響するグラフィックモードを定義する役割」の両方を担うオブジェクトです。ここで言う「一連のグラフィックオブジェクト」には、次のものが含まれます。 ペン 線の描画で使用 ブラシ ペイントと塗りつぶしで使用 ビットマップ 画面各部のコピ
作ってみました。 最後と最初がつながってなかったり、最後が「ん」の文字列が入力されたらその後の処理はしません。 はこちら #include <iostream> #include <string> #include <locale> #include <shand/maybe.hpp> using namespace std; using namespace shand; inline maybe<wstring>::type last_and_first(const wstring& last) { return monad_return(last); } struct next { wstring first_; public: typedef maybe<wstring>::type result_type; next(const wstring& first) : first_(f
new できなかったら、どうやって使うのかって? CannotNew o; // 使える CannotNew* p = new CannotNew; // 使えない (ようにしたい) CannotNew* p = new CannotNew[3]; // 使えない (ようにしたい) スタック上に作るのはいいけど、ヒープに作るのはやめて欲しい。 C++ には演算子の多重定義というエグい機能があって、演算子を定義し直せる。 new も演算子なので多重定義できる。 class CanNew public: void* operator new(size_t sz) { return ::operator new(sz); } void* operator new[](size_t sz) { return ::operator new[](sz); } }; 多重定義する前と同じ動きをさせるには
最近、やっと意識していること。 static HogeManager hogeManager_; ではなく、 namespace { HogeManager hogeManager_; } とする。 HogeManagerは静的でありたいわけではなく、 ファイル内アクセスをしたいだけに過ぎないから正当な機能である無名名前空間を使う。 (Cだとstaticにせざるをえないけど) Hoge* hoge = HogeManager::getInstance()->create(...); ではなく、 Hoge* hoge = ::CreateHoge(..); を使う。 Hogeをつくるために、 HogeManagerのインスタンスをグローバルにする必要はない。 関数で十分。 グローバル関数は悪ではないが、 グローバル変数は悪だ、という理念に従えばこれは当然の理となる。 CreateHogeの中
12/5(金)のC++WGアドホック会議で議論する予定の 現在出ている Committee Draft(N2798) へのコメント一覧です。 (常に最新置いておきます) C++_CDコメント一覧.pdf ちょっと見にくかったので、私が勝手に編集したものも置いておきます。 Committee Draftへのコメント.pdf CD へのコメントはまだまだ募集中です。 LessThanComparable等のNaN対応の案ください。 nested_exceptionのサンプル募集中です。 Movableラムダとかrvalue_reference_wrapperがほしい id:melpon は案ください。 constexprに再帰を許可してほしい人は動機とサンプルください。 ラムダ式をきもいと思う人は代案ください。 ちなみに、アドホック会議の残り参加枠は3人です。 更新履歴 ・2008/11/26
皆様,お疲れ様でした. 今日ほどC++の話をしたことはこれまでありませんでした. 案の定話について行くので精一杯な感じでしたが,思い出に残る楽しい一日になりました. いつもブログ等を読ませていただいていて挨拶できなかった方が相当数いらっしゃるのが心残りではありますが,お互いネットの住民なのでこちらではこれまで以上に交流できたらいいなと思います. 今後ともよろしくお願いします. コメントの補足 会議中に,CDのraw string literalの仕様がイミフな空気になってたので,少しだけコメントさせてもらいましたが,あんまり伝わらなかったかな,と思うので改めてここに書いておきます. もし間違ってたらお教えくださいませ m(..)m まず,こういう文字列 "this is\na pen."は,raw stringでは R"[thi\ s is a pen.]"と書けます. つまり, [ と
まだ、正式発行はされていないC++ 0xだけど、すでにドラフトは出ていて、内容的にはほぼ固まっている様子。 C++ 0xの参考資料としては、以下を参考にしています。 ・http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2008/n2652.html 大元のレポートですね。これが読めればいいのですが、あいにく英語は苦手です。 ・http://ja.wikipedia.org/wiki/C%2B%2B0x Wikipediaは便利ですね。C++ 0xについては、Wikipediaを参考にしようと思います。日本語がいいよね。 ・http://d.hatena.ne.jp/faith_and_brave/ C++プログラマー、アキラ氏のblogです。ブログ読んでるんですが、正直理解できません。理解できるようにがんばります。
科学者とあたまを書いたひとだけれども、この名前どっかで聞いた事があるなと思ったら, 昨日劇団青年座の人の講演で聞いたのだった。 「フユヒコ」という劇団青年座の公演が明日NHKで放送されるらしいです。冬彦ってのは寺田寅彦のペンネームらしい。 http://cgi4.nhk.or.jp/hensei/program/p.cgi?area=001&date=2008-12-12&ch=31&eid=9950 おもしろそうだから観てみようかな。 ところで小柴先生が同じような事を言っていたのを思い出した。このインタビューは面白い。 一流の理論家は、「自分の理論では、ここまでは使えるけれど、これから先は分からない」という適用限界をいつも意識している。ところが二流の理論家というのは、自分が名前を覚えた、あるいは、使った理論で何でもやれると思ってしまう。二流の理論家に困らされるのは、新しい実験計画が出てき
【2015年12月24日記載 : C++11 ラムダ式の正式なまとめは、こちらのページ「C++11 ラムダ式 - cpprefjp C++日本語リファレンス」を参照してください】 今まではラムダ式のリビジョンが上がるたびに差分だけ書いてたので C++0xに採択されたラムダ式の解説をあらためて書きます。 【C++03までの問題点】 C++03では、関数をその場で作成する、ということができなかったため 関数を受け取るSTLアルゴリズムを使用する場合、以下のように、アルゴリズムに渡す用の関数を作成しなければなりませんでした。 struct is_even { typedef bool result_type; bool operator()(int x) const { return x % 2 == 0; } }; vector<int> v; find_if(v.begin(), v.end
昨日より、やっとWindows+ Cygwin-XServer and Cygwin 環境で、 Xaw+X11環境で作成された指導教官の先生が作った楽譜ソフトを動かすことができた。 しかし、自分の作ったプログラムと連携させるには、あまりにも面倒なので、 同じプログラムの中で実行できるように考えてみる。 今のプログラムはC#言語で動かしているので、X11なんて、動くわけがない。 ところがほしい情報は、数値データなので、GUIは、必要ではない。 そうなると、ただのC言語だ。 C言語をC#言語に移植することにする。 ところが、移植をしていく途中で、元データに、自己参照構造体があることを発見する。 C#言語には、ポインタの概念が隠蔽されているので、 これを、まともに実装するのは、檄大変であることに気づく。 そこで、いったん元のC言語のデータを、Visual StdioのC++言語/CLI で、 ク
C/C++ 免許制はどうですか? の続き 774RR さんの書き込みより C/C++ ってカバーする分野が広い(広すぎる)ため、ある分野の専門知識は他の分野では不要なものが多いです。 俺のメイン仕事のちっこいワンチップマイコン組み込み系と πを42億桁計算する超多倍長演算と Web アプリケーションの安全性を確保するためのセキュリティ確保のためのシステムと かさなる専門知識はあまりありません。 設計と実装はある程度分けて考えられると思います。「πを42億桁計算する超多倍長演算」はどちらかというと実装面の影響が強く、「Web アプリケーションの安全性を確保するためのセキュリティ確保」は設計面での影響が強いですよね?security 上の問題が発生することはどの言語でも多いですが、C/C++ の大きな問題として他の言語に比べ実装 (coding) で問題が生じやすいというのがあると思います。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く