Programming is hard. Programming correct C and C++ is particularly hard. Indeed, both in C and certainly in C++, it is uncommon to see a screenful containing only well defined and conforming code.Why do professional programmers write code like this? Because most programmers do not have a deep understanding of the language they are using.While they sometimes know that certain things are undefined o
前日に東京にいたのでついでに参加しました。 エラーハンドリング勉強会 http://partake.in/events/9874b92a-4cf0-4a20-a3fe-951239da5612 日時:2011年09月04日(日) 14:00〜 場所:新宿MIDWESTビル 12階 株式会社DeNA 会議室 公式Twitterタグ:#エラーハンドリング勉強会 当日のTwitterまとめ:http://togetter.com/li/183534 Ustream:http://www.ustream.tv/channel/gunyarakun (多分録画なし) DeNAさんの会場は受付からしてとても凄かった。そういえば会場近くにスクウェア・エニックスのショップがあってDQグッズとか売っていた。あと開始時間を思いっきり勘違いしていて1時間早く着いてしまっていた。 開会 [twitter:@wra
みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー C++の言語仕様を個別に関連づけながら図にしたのを見つけたんだけど,これがすごい。George Mason大学のSeal Lukeさんいわく「正しくかつ完璧なC++パーサーを作るのは数学的に不可能」なのだそうで,さもありなんと頷ける。 余りに巨大なので縮小してる。クリックで元画像を開きます。 同じようにして作ったC言語の文法図はこんなかんじ。 C++を華麗に使いこなせるのは,Googlerみたいに頭のよい人だけなのかも...。
[ C++で開発 ] 例外処理プログラミング 戻り値によるエラー通知ではなく、より障害に対する耐性を高めるためのシステムとしてC++言語に導入されたのが例外機構です。この例外処理はC++に限らずオブジェクト指向言語の多くに導入されています。 throwとcatchの書き方 3つの方法:ポインタ渡しか値渡しか参照渡しか 関数宣言のthrow:例外仕様 単純なunexpected/terminateの実装 例外の考え方 例外を使用する/しない 例外処理をする/しない スタックフレームを保持する例外 Exceptionクラス TraceExceptionクラス Linuxのbacktraceシステムコール backtraceを用いた例外クラスの実装例 throwとcatchの書き方 3つの方法:ポインタ渡しか値渡しか参照渡しか (本節の記述は、書籍「More Effective C++」の§13
C++入門 基礎知識は仮定しません あなたは 人目のお客さんです。 ゆっくりしていってください。 C++入門1 プログラミングの基礎知識 C++入門2 coutを使った出力 C++入門3 cinを使った入力 C++入門4 オブジェクト指向について C++入門5 クラスを作ろう C++入門6 クラスを作ろう(補足) C++入門7 クラスの練習 C++入門8 コンストラクタの引数 C++入門9 クラス間の関係 C++入門10 乱数 C++入門11 while文とfor文 C++入門12 値を戻す関数 C++入門13 値を戻す関数の例 C++入門14 パブリックとプライベート C++入門15 継承 C++入門16 継承の練習 C++入門17 さらに継承 C++入門18 デストラクタ C++入門19 配列 C++入門20 ポインタ C++入
What's new 2008/06/30 Google 検索窓をつけてみました。 2008/06/14 身長や体重など複数の基準でソートする例 を追記。 2008/06/14 英文字文書を読んで、文字数の頻度順にソートする例 を追記。 古い What's new 当サイトで提示するサンプルコードは、あまりにも単純明快で、一見つまらないぐらいに見えるはずです。しかし、もしあなたがそう感じたのであれば、それは、ねらいどおりで、大成功と言えます。ちょっと難解と思われている C++ が、つまらなく見えるほど平易に解説されているということですから。 基礎(入門)編 その他(非 C++ 的) エッセー C++ はアセンブリ言語のように軽快であるにもかかわらず、仮想クラスやクラスの継承、オペレータのオーバーロード、そして、テンプレートと、高級言語のプログラミングテクニックを余すところなく駆使で
Cが全然分からないころの話。 javaのように1クラス1ファイルに書かないのはなんで? メンバがポインタばっかりなのはなんで? という疑問を持ちながらコーディングしてるともやもやして嫌でした。 もやもやがいやなのでjava風に書いていたら当然のように詰まりました。 ポインタじゃなかったらメモリが大変なことになるだろうが! というのは最もなんですけど、じゃ小さいプログラムならありなのか?スマートポインタ使えばいいのか?と言うとそうでもない。 今日書いてみたいのは、クラスは相互参照がめんどくせぇから分割しろ。そして同じ理由でメンバ変数はポインタにしとこうぜ、というお話。 相互参照の解決 AクラスがBクラスを使って、BクラスがAクラスを使う。 こういう状態を相互参照とか相互includeとか言うと思う。 javaは何でもないことだけど、C++はこれを簡単には許してくれない。 相互参照の解決方法に
Blog Search when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${entry.path} [in template "__entry.ftlh" at line 3, column 25] - Reached through: #include "__entry.ftlh" [in template "entry.ftlh" at
書いたといっても結構前からあったのですが、いらん所を削ぎ落として軽量Webサーバとして仕立て上げました。 軽量とは言えど、CGIを使って結構色々動きます。 例えば、ソースアーカイブを解凍したらCGIがあって、apacheから見える場所にコピーして...とか面倒くさかったりしますよね。 おれは今すぐWebサーバを起動したいんだ!そして今いるディレクトリのファイルをWebサーバからサーブしたいんだー! って事ないですか?blogソフトウェアをダウンロードして今すぐ試したいけど、apacheインストールされてなかった...とか悲しすぎます。 今回紹介する"tinytinyhttpd"(tthttpd)はそんな、小さい様で大きな問題を解決出来るかもしれないソフトウェアです。 mattn's tinytinyhttpd at master - GitHub tiny tiny httpd http:
編集距離(edit distance)とは二つの文字列がどの程度異なっているかを示す数値であり、レーベンシュタイン距離(Levenshtein distance)を指すことが多い。文字の挿入、削除、置換それぞれを一つの操作として必要な操作の最小数を求めるものだ。例えば、kittenとsittingの編集距離を求める場合、下記のように3回の操作でkittenをsittingに変更できるので編集距離は3となる。 1. sitten (k を s に置換) 2. sittin (e を i に置換) 3. sitting (g を挿入) そこで今回は編集距離を求める複数のアルゴリズムについてC++で実装してみた。 動的計画法 編集距離を求めるもっとも一般的なアルゴリズムは、動的計画法(dynamic programming)だろう。計算時間はO(mn)であり、手軽だ。C++で書いたコードを下に示
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く