プログラマとして身に着けるべきスキルはたくさんありますが、中には、ソフトウェアエンジニアリングの標準カリキュラムに組み込まれていないものもあります。そうしたスキルは少しずつ自然に、あるいは経験豊富な人と一緒に仕事をする中で学ぶ必要があります。1つDavid MacIverが取り上げているのは、 値の型を追跡するスキル です。 他には、コード中のオブジェクト所有権を理解するスキルも必要です。つまり、コードのどの部分がメモリ内の特定オブジェクトを所有し、それがどんなアクセスを予期しているかを知るということです。 その理解なしにコードを書くと、プログラムがクラッシュしたり厄介なバグに悩まされたりすることになるかもしれません。さらに悪いことに、プログラミング言語の中には、この問題に役立つ手段さえ提供してくれないものもあるでしょう。 自然に身に付ける これは、私がこのスキルを学んだ方法です。私は大学
はじめに @takeokunn そういや私の昨日のツイートたどってみ、C++初心者(boost.asioが使えないとは言っていない)の人とQiitaでやりとりしてたから — yumetodo-C++erだけど化学科 (@yumetodo) 2016年5月3日 @yumetodo だからC++erの初心者は初心者じゃないんだよ!!!!!!!!!!!!! だからC++er嫌いなんだよ!!!!!!!! — たけてぃ (@takeokunn) 2016年5月3日 @takeokunn 当人も「そろそろ中級者かな」 と言ってた 因みに C初心者 < C++初学者 < C++入門者 < C++初心者 < C++規格書リーディング初心者 < C++中級者 < C++規格書リーディング中級者 < C++上級者 < C++規格書クラッカー — yumetodo-C++erだけど化学科 (@yumetodo)
先日、アルゴリズムの授業でソートのアルゴリズムをいくつか習いました。ソートアルゴリズムの名前と原理くらいは聞いたことがありましたが、実装したことはなかったのでいい機会だと思い実装してみることにしてみました。ただ実装するだけでは面白くないので高速化の限界に挑戦してみたいと思います。 計測用プログラム 今回の計測では、ランダム値が入った配列のソートを100回行い、平均時間を各アルゴリズムに競わせるというシンプルなルールにしました。プログラムは以下の通りです。 C++11で入ったメルセンヌ・ツイスタなどの機能を使っているので、ビルド時には-std=c++11を指定する必要があります。 実験に使用したパソコンのCPUはCore i3-3227U@1.90GHz、コンパイラはgcc version 4.8.4で最適化オプションには-O3を指定しました。 #include <iostream> #in
As the world is converging under the roof of augmented reality, most of the devices around us are becoming wireless. Thanks to innovative technologies like WiFi, IR, Bluetooth, ZigBee which enable seamless interaction among various devices manufactured by thousands of vendors all around the world. Having said that, even I have been working on a project to set up a Bluetooth server on PC which publ
かつて、ゲームプログラミングはアセンブリが主流で、8bitのCPUは掛け算や割り算すらないものでした。割り算がないCPUっていつの時代だよ、っていう人たちもおりますが、ゲームボーイアドバンスに搭載されているARM7TDMIは除算の命令を持っていません。(故に除算を書くと死ぬほど遅いので、乗算で代用したりする) また、浮動小数に対する演算ユニットを持っていないハードウェアもあります。ニンテンドーDSに搭載されているARM946E-Sですら、浮動小数演算ユニットはありません。(CPUの機能としてはオプションで存在する)そのために固定小数点といった技術もあるわけですが、古くさい話です。 これらはCとC++の機能を駆使していかにパフォーマンスを出すかを余儀なくされた時代です。 さておき、最近はスマートフォンでのゲーム開発も進化しており、C++がiPhoneとAndroidの両方で動くということもあ
あ\n こんにちは、fadisです。★最近話題の某A社で働いています。★きな言語はC++、好きなエディタはVim、好きなディストリはGentooですが、昨日東京の方でやっていた闇鍋プログラミング勉強会によると、★この3つはTLから変態を検出するキーワードとして使えるらしいです。ちょっと、こんなに健全な人が変態に分類されるとか誤認識にも程があると思うのですが、\n こんにちは、fadisです。★最近話題の某A社で働いています。★きな言語はC++、好きなエディタはVim、好きなディストリはGentooですが、昨日東京の方でやっていた闇鍋プログラミング勉強会によると、★この3つはTLから変態を検出するキーワードとして使えるらしいです。ちょっと、こんなに健全な人が変態に分類されるとか誤認識にも程があると思うのですが、\n こんにちは、fadisです。★最近話題の某A社で働いています。★きな言語はC
そういえば C++ のヘッダファイルを #include するだけで使える GC を書きました。使い方は下のサンプルコードを見てもらえばいいとして、特徴としては、 ヘッダファイルを #include するだけで使える C++ の標準機能だけを使っているのでポータブル*1 mark-and-sweep, precise GC ってなあたりでしょうか。コードは GitHub - kazuho/picogc: a tiny, portable, precise, mark-and-sweep GC in C++ にあります。 C++ のプロジェクトで、ちょっとここだけは GC がほしいんだけど、ってなケースで使いやすいと思います。速度も、そこそこでるんじゃないかな*2。 というわけで、以下、サンプルコード。軽く説明しておくと、 GC を使うクラスは picogc::gc_object を継承する
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
コンテンツへスキップ 無料「Excel」 テンプレート 比較/まとめ フリーアイコンWebサービスの比較/まとめ 無料オンラインスキャン 比較/まとめ 無料でビジネスチャット、Web会議、スケジュール管理ができるグループウェア おすすめ無料レンタルサーバーの比較 無料ストレージサービス 比較/まとめ 就職・転職には必須となる履歴書・職務経歴書 これから就職活動をスタートContinue reading フリーアイコンって何? インターネットが世界的に普及し始めて20年程度Continue reading 急にパソコンの調子が悪くなったことありませんか? この記事を読んでいるContinue reading Chat&Messenger ってどんなサービス? ビジネスチContinue reading レンタルサーバーを導入したい 企業・個人問わず、今レンタルサーバーを導Continue r
まぁ、不慮の例外といいますか、突然飛んでくる例外というのはいろいろあるわけで。 そりゃ、例外なんて名前がついているから、例外的に突然飛んでくるのは当たり前だろうとこともありますね。 では、この例外をだれが投げたかを C++ で追跡することはできるのでしょうか。 _ □□ _ ___、、、 //_ [][]// ,,-―''':::::::::::::::ヽヾヽ':::::/、 誰 投 こ // \\ // /::::::::::::::::::::::::::::::i l | l i:::::::ミ だ げ の  ̄  ̄  ̄/ /:::::::::,,,-‐,/i/`''' ̄ ̄ ̄ `i::;| あ た 例 ―`―--^--、__ /:::::::::=ソ / ヽ、 / ,,|/ っ の 外 /f ),f
ごみ箱にファイルを捨てようとすると逃げ出すごみ箱を作ってみました。 ダウンロードは以下から可能です。 https://soft.seroron.com/TrashMove_v0.9.3.zip 動作環境はWindowsXP以上となります。 そのうち気が向いたら、色々と調べたAPIとかについて書いていくかも。 追記(2011/06/05): プログラムの実行中にごみ箱の名前を変えるとだめな問題を修正しました。あしぃさん不具合報告ありがとうございます。 また、起動時の初期化処理をちょいと修正しました。これで動かなかった方も(ひょっとすると)動くかもしれません。 追記(2011/05/25): 画面の色数が16Bitだと動かない問題を修正しました。tmcさん不具合報告ありがとうございます。 これでも動かないぞゴラという方がいましたら、ご連絡ください。直せないかもしれませんが・・・ あと、未だにコ
Evernoteとロンドン証券取引所(LSE)に共通点があるのだが、何かお分かりであろうか? Evernote for Windowsはバージョン3.5までは、.NETとWPFで書かれていたが、Evernote for Windows 4.0からはC++のネイティブ・アプリに書き換えられた(Evernote日本語版ブログ)。レスポンスを含めたユーザビリティの向上が目的のようだ。 ロンドン証券取引所は、Windowsと.NETベースのシステムから、Linux上で動くC++ベースのシステムMillennium Exchangeに変更になった(Computerworld.jp)。応答速度やスループット、開発における主導権の保持が目的のようだ。 つまり、どちらも.NETからC++に移行した事例であって、速度向上を一つの目的としている。Evernoteは2010年10月27日、ロンドン証券取引所は2
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く