タグ

C++に関するlakehillのブックマーク (14)

  • quick sortよりも高速でmerge sortのように安定しているソートアルゴリズムtim sort [勘違い] - Islands in the byte stream

    <追記>ベンチマークプログラムに誤りがありました。ソート済のシーケンスに対してソートを掛けていました。ご指摘ありがとうございます>ak氏 そんな夢のようなソートアルゴリズムがあるのかというと、あるらしいんです。それがtim sortと呼ばれるアルゴリズムです。 画期的(?)なソートアルゴリズム「Sleep Sort」:濃縮還元オレンジニュース|gihyo.jp … 技術評論社 このあたりで拾ってきたネタですね。 merge sortを改良したアルゴリズムで、安定*1しており、しかも実行速度にも優れているとか。アルゴリズムの性能の評価は済んでいるらしく、CPythonやJDK7には既に導入済みのようですね。 ならば当然Perlのソートも…と考えるわけですが、まず評価のためにJavaのソースをC++にそのまま移植してみました。それがこれ(いちおうテスト済): https://github.co

    quick sortよりも高速でmerge sortのように安定しているソートアルゴリズムtim sort [勘違い] - Islands in the byte stream
  • gooサービス終了のお知らせ | dメニュー

    ニュース、占い、アプリ、音楽、動画、書籍など「スマホ・ライフ」を楽しむための情報を無料でお届けします。 今後は、dメニューをご利用くださいますよう、よろしくお願いいたします。

    gooサービス終了のお知らせ | dメニュー
    lakehill
    lakehill 2011/04/05
  • Account Suspended

    Account Suspended This Account Has Been Suspended

    lakehill
    lakehill 2011/04/05
  • 講習用資料

    概要 プログラミングの新人講習のようなものをやる機会があったので、 せっかくなのでそのときの資料をアップ。 背景等は以下の通り。 言語は C/C++。 開発環境は特に問わず(GUI 開発関係だけは Visual Studio、C# を使用)。 基礎的な話は他の人がしているので、ちょっと変わった話をする。 で、実際やったのは以下の4つ。 「C/C++ よくあるバグパターンと対策」 「非標準機能、処理系依存機能」 「オブジェクト指向プログラミング概要」 「RAD デモ」 まあ、反応は上々かと。 OOP 概要は、ちょっと急ぎ足過ぎて演習問題やるのはきつかった。 概要説明だけにとどめるか、演習もするなら C++ の説明がもっと必要。 C/C++ よくあるバグパターンと対策 C/C++ でやりがちなミスを列挙してみました。 実例のソースファイル中にコメントで説明を入れています。 C/C++ といいつ

    講習用資料
    lakehill
    lakehill 2010/11/27
  • C言語最大の欠点

    1980年代、筆者が高校生・大学生だったころに「C言語がすごい」という話を友人から聞いていた。しかし、当時の筆者が触れていたのはMSXパソコンのBASICと大学の汎用機のFortranくらいだった。C言語をやっと手に入れたのは、1992年の暮れである。清水の舞台から飛び降りるような気持ちでBorland C++の大箱を買って帰った。 それから20年近くが経過した今でも、C言語は「最強のプログラミング言語」と呼ぶべきポジションを確保し続けている。UNIXオペレーティングシステムとC言語が世界に与えたインパクトの大きさは、実に大きなものがあった。 ただ、C言語を学習したり評価したりする際には、C言語の大きな欠点を知っておく必要があるだろう。筆者が考えるその大きな欠点とは、「文字列の扱いが非常に面倒」であることだ。 「バッファオーバーフロー」を回避するのは大変 例を示そう。図1はC言語で記述した

    C言語最大の欠点
    lakehill
    lakehill 2010/10/21
  • 「プログラミングの魔導書」の情報公開 - Faith and Brave - C++で遊ぼう

    http://longgate.co.jp/products.html 弊社、株式会社ロングゲートで、プログラミング雑誌を作るというプロジェクトが進行しています。 書創刊の目的は、プログラミングの入門記事が巷に溢れる今、プログラマのさらなる成長のため情報発信を行い、業界全体の技術力を向上させることです。 雑誌といっても、記事の質を保つために不定期刊行としていることから、実際には雑誌ライクな書籍となります。 書籍名は「プログラミングの魔導書〜Programmers' Grimoire〜」です。 創刊号となる今回のテーマは、サブタイトルにも含まれている「C++」です。全ての記事がプログラミング言語C++に関するものとなっています。 Vol.1のテーマをC++としたのは奇をてらったものではありません。 C++は習得の難しい言語と言われておりますが、近年はBoost C++ Librariesに

    「プログラミングの魔導書」の情報公開 - Faith and Brave - C++で遊ぼう
    lakehill
    lakehill 2010/06/02
  • プログラムの実行時間測定 - TechPedia

  • IBM Developer

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    IBM Developer
  • 「C++ は難しいから」と言う定説 - Cube Lilac

    雑記. C++ は難しいから Java から始めた方が・・・ ここ最近(と言うか以前からずっとですが),上記のようなアドバイスを見かける機会が多かったせいか「C++ の何を指して(Java と比べて)難しいと言っているのだろう?」と言う事を単純に疑問に思うようになりました.Java 自体はほとんど使ったことないのですが*1,感想としては「どちらも大して変わらない」と言うものだったので余計に気になっています. 以下,現状で私が「これが要因かなぁ」と思っている事を列挙してみます. C++ には XXX と言うクラス/関数がない 可能性として一番高いのはこれかなぁと思っています.C++ の標準ライブラリは必要最低限のものしか(必要最低限のものさえも?)用意されていないので,他の言語と比べてライブラリの貧弱さは目立ちます.Boost を含めればかなりマシになりますが,それでもキツいかなと言う印象を

    「C++ は難しいから」と言う定説 - Cube Lilac
    lakehill
    lakehill 2009/07/08
  • CとC++は似たようなモノか? | スラド

    ストーリー by makeplex 2009年05月16日 22時52分 違和感がないならまだ初心者ということか? 部門より プログラミング言語のカテゴリ分けで、CとC++は一緒にされることが多い。Q&AサイトやSNS等でも「CとC++」というように同類視されている。 先日の当/.jpのアンケートでも、プログラミング言語に関する設問はこうなっている。 □C/C++ □C# □Objective-C CプログラマとしてはCとC++を一緒にされて迷惑している。実際, ネット上での質疑応答でも「まず CかC++どっちの質問?それを書いてくれないと答えられないよ」ってのが最初の応答だったりもするし。 個人的には、言語の「同類度」という観点では Cだけ別にしてオブジェクト指向という共通点がある C++/ObjectiveC/C#を一緒にするほうが妥当に感じるのである。 言語のグループ分けの際にどれと

    lakehill
    lakehill 2009/05/24
  • 2NT -無料ブログ 無料ホームページ 等-

  • WIZSYS NETWORKS

    Free Programming

  • Spaghetti Source - アトキンのふるい

    ソースコード void sieve_of_atkin() { int n; for (int z = 1; z <= 5; z += 4) { for (int y = z; y <= sqrtN; y += 6) { for (int x = 1; x <= sqrtN && (n = 4*x*x+y*y) <= N; ++x) isprime[n] = !isprime[n]; for (int x = y+1; x <= sqrtN && (n = 3*x*x-y*y) <= N; x += 2) isprime[n] = !isprime[n]; } } for (int z = 2; z <= 4; z += 2) { for (int y = z; y <= sqrtN; y += 6) { for (int x = 1; x <= sqrtN && (n = 3*x*x+y*

  • 手軽な低レベルプログラミング環境として GBA はもっと評価されるべき

    とりあえず開発を始めるにあたっては特殊なハードウェアなどは必要なくて、 コンパイルは gcc テストはエミュレータの VisualBoyAdvance といった流れで開発を進めます。 最後の最後に実機確認をする段階になったら、ロムイメージを書き込んで GBA の実機で実行させるためのマジコンが必要になりますが 当面は必要ありません。 まず VisualBoyAdvance で動けば実機で動きますし、その逆も真です。 ちなみに「Linuxから目覚めるぼくらのゲームボーイ!」などで用いられている ブートケーブル経由での開発はハードウェア資源の制限がキツくなるのでオススメできません。 コンパイルについては gcc で OK で、これは devkitPro r18 (buildscripts 20060412) をインストールすれば一式入ります。 Windows, MacOSX, Linux など

  • 1