タグ

C++とc++に関するtsupoのブックマーク (73)

  • ソシャゲ不具合の原因、ソースコード開示して説明 「詫びソースコードとは斬新」と話題に

    スマートフォン向けソーシャルゲーム「ドラゴンボール ドッカンバトル」の「ガシャ」(ガチャ)で、出現するキャラクターの表示がユーザーごとに異なっていたことが判明し、「運営側がガチャの確率をユーザーごとに操作していたのでは」との疑惑が上がっていた。 運営元は11月16日、「実際のガチャ提供割合は、全ユーザー共通だったが、表示上の不具合が起きていた」と説明し、疑惑を否定。さらに、不具合があったプログラムのソースコードを開示し、どのようなミスだったかを説明した。 ゲームの不具合を説明するためにソースコードを開示するのは異例で、「斬新だ」とネットで話題を呼んでいる。 同ゲームは、バンダイナムコエンターテインメントとアカツキによる共同開発。 11月15日以降、ゲームで提供している「ガチャ」で、出現するキャラクターの種類についての表示が、ユーザーによって異なっていることが発覚。「運営側がガチャの出現確率

    ソシャゲ不具合の原因、ソースコード開示して説明 「詫びソースコードとは斬新」と話題に
    tsupo
    tsupo 2017/11/17
    SQLのところは、ちゃんとストアドプロシジャを使ってる
  • Embarcadero、C/C++統合開発環境「C++Builder Starter」を期間限定で無償公開

    Embarcadero、C/C++統合開発環境「C++Builder Starter」を期間限定で無償公開
    tsupo
    tsupo 2016/08/29
    とりあえずブクマ
  • C++コンパイラ GCCとClangからのメッセージをお読みください

    2. お詫びとおことわり ● うっかり自宅のclangにアクセスできなくして しまったので、一部のサンプルコード(のエ ラーメッセージ)を掲載できなくなってしまい ました。 ● なので実感のつかみにくいかもしれませんがご 了承ください。 3. GCCのエラーといえば /usr/lib/gcc/i686-pc-linux-gnu/4.3.4/include/g++-v4/bits/stl_algo.h: In function ‘void std::sort(_RAIter, _RAIter) [with _RAIter = std::_List_iterator<int>]’: prog.cpp:6: instantiated from here /usr/lib/gcc/i686-pc-linux-gnu/4.3.4/include/g++-v4/bits/stl_algo.h:4783

    C++コンパイラ GCCとClangからのメッセージをお読みください
    tsupo
    tsupo 2013/05/29
  • Microsoft が C++11 準拠を拡大した新コンパイラを発表

    Rustが再評価される:エコシステムの現状と落とし穴 In this article, we share findings and insights about the Rust community and ecosystem and elaborate on the peculiarities and pitfalls of starting new projects with Rust or migrating to Rust from othe...

    Microsoft が C++11 準拠を拡大した新コンパイラを発表
    tsupo
    tsupo 2012/11/11
    2017 年のリリースが予定される C++17 / C++ 標準としてはその前に,2014 年にもマイナーリリースが予定されていて,これまでのリリースのペース(C++98, C++03, C++11)よりも大幅にスピードアップされる
  • node.js C/C++ addons 入門 - unknownplace.org

    node.js のドキュメントを見ていたら C/C++ で簡単に拡張が書けそうだったので試してみた。 addons - Node.js Manual & Documentation ドキュメントに載っている hello.cc をみてみると: #include <v8.h> using namespace v8; extern "C" void init (Handle<Object> target) { HandleScope scope; target->Set(String::New("hello"), String::New("world")); } この extern "C" void init (Handle<Object> target) というやつが、jsで require("hello") したときに呼ばれる感じらしい。この関数だけは必ず実装する必要がある。 この中の Ha

    tsupo
    tsupo 2011/02/19
    拡張機能を C/C++ で書くためのヒント
  • http://atnd.org/events/10438

    http://atnd.org/events/10438
    tsupo
    tsupo 2010/11/29
    どっかの中二病者がのたまっている闇プログラマーではなく、C++闇の軍団に抵抗しうる真の闇プログラマーを養成し、真の闇プログラマーの部隊を創設する予定 → なにこれ?
  • C++では基底クラスにvirtualデストラクタを書こう - *「ふっかつのじゅもんがちがいます。」withぬこ

    (追記あり/再追記あり) ブクマ経由で、C++で演算子オーバーロードしたときの演算子決定基準について調べたというのを見たのだけど、書いてあるサンプルコードが演算子オーバーロード以前にちょっとダメだった。 昔書いたテストコードと書いてあるので、今は分かってるのかもしれないけど、ある程度経験を積んだC++プログラマは絶対に(というのは言いすぎでした)virtualデストラクタのないクラスを継承しない(追記やTBやブコメの議論を参照のこと)ので、このサンプルコードを載せて違和感を感じない時点で、演算子オーバーロードをいじるよりもまずはEffective C++を読んだ方がよい。 何がダメか。以下のように、virtualデストラクタがないクラスを継承している。これはダメだ。例え基底クラスのデストラクタですべきことがないのだとしても、継承するつもりのあるクラスにはvirtualデストラクタを作らない

    C++では基底クラスにvirtualデストラクタを書こう - *「ふっかつのじゅもんがちがいます。」withぬこ
    tsupo
    tsupo 2010/10/25
    「デストラクタ virtual」でググるとこの記事がいちばん上に来ますね。さすが ajiyoshi さん!!
  • C++の話(本当にあった怖い話)

    The document discusses C++ and its history and features. It describes C++ as an extension of C with object-oriented features like classes. It provides information on the creator of C++, Bjarne Stroustrup, and the evolution of C++ since its introduction as a way to add object-oriented programming to C. It also includes sample C++ code demonstrating the use of arrays and includes from the Boost libr

    C++の話(本当にあった怖い話)
    tsupo
    tsupo 2010/07/15
    C++闇の軍団、こわい // 同姓同名のプログラマが何人もいたら、どうやって解決するんだろう?
  • tokuhirom blog

    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

    tsupo
    tsupo 2009/10/08
    「いいのないねー」とか言ってたらkazuhoさんが「30分で書けそう」って言い出して(略)ついさっき出来上がりました → すごい / cppref という名前から cxref の C++ 版かと思ったら違ってた。けど、これはこれでいいな
  • Big Sky :: C++で簡素なXMLRPCライブラリ書いた。

    ずいぶん前からXMLRPCC++で扱うのに小さいライブラリないかなーと思ってました。 書いたといっても結構前からあったのですが、いらん所を削ぎ落として簡素なXMLRPCライブラリとして仕立て上げました。 簡素とは言えど、一般的な物ならば色々動きます。 例えば、ブログに一気に、しかも機械的にポストしたい場合とか おれは今すぐXMLRPCしたいんだ!そしてどうしてもC++でXMLRPCしたいんだー! って事ないですか?MovablebTypeをインストールしたけど、XMLRPCするのにC++コンパイラは入ってるけど、PerlRubyPythonは入ってない...とか悲しすぎます。 今回紹介する"tinyxmlrpc"はそんな、小さい様で大きな問題を解決出来るかもしれないライブラリです。 mattn's tinyxmlrpc at master - GitHub tiny xmlrpc l

    Big Sky :: C++で簡素なXMLRPCライブラリ書いた。
    tsupo
    tsupo 2009/09/26
    ”今日は、wassrでhasegawaにいじめられた。悲しかった。”
  • JPCERT コーディネーションセンター イベント情報

    C/C++ セキュアコーディング ハーフデイキャンプ 2009秋 @大阪 は終了いたしました。 ご参加いただきました皆様、誠にありがとうございました。 脆弱性のない安全なプログラムを開発するために ~ソフトウエアの脆弱性が作りこまれる根的な原因を学び、問題を回避する~ JPCERTコーディネーションセンターは、C/C++ 言語で脆弱性を含まない安全なプログラムをコーディングする具体的なテクニックとノウハウを学んでいただくためのセミナーを下記のとおり開催いたします。 従来のプログラミング教育は、基的なアルゴリズムをどのようにコーディングするかが主なものでした。 しかし C/C++ 言語による開発では、基的なプログラミングだけでなくセキュリティへの十分な配慮が必要です。不用意なプログラミングの結果、予期せぬ脆弱性を多く含むソフトウエアが生まれます。 セミナーは、経済産業省の委託によるソ

    JPCERT コーディネーションセンター イベント情報
    tsupo
    tsupo 2009/09/08
    関西エリアのプログラム開発者の方々に受講いただけるよう、大阪にて、2009年10月6日から 11月2日の全3回コースで開催いたします → 今年は、大阪でも開催されるとのこと
  • 「BIND 10」をC++とPythonで書く狙いとは JPRSに聞く、次期DNSソフト開発の意義<後編>

    tsupo
    tsupo 2009/08/24
    DNSソフトウェアとして応答性能が求められるコアな部分をC++で開発する一方で、周辺部分にはPythonを用いることがポイント / 外部の開発者が、自分たちの使いやすいようなインターフェイスを自分たちで作れるようになる
  • Kazuho@Cybozu Labs: 今更 C++ で JSON パーサ「picojson」を書いたわけ

    既に mattn さんが、「Big Sky :: ヘッダファイルだけでC++から使えるJSONパーサ「picojson」が凄い!」で紹介してくださっています (mattn さん、アドバイス&バグ情報ありがとうございます!) が、いまさら C++ で JSON パーサを作りました。それは、以下の3点を満たすものがなかったから。 ヘッダファイル only boost 等、他の重たいライブラリに依存しない array や object が STL にマッピングされる コードは、coderepos に置いてありますので、よろしければお使いください (picojson.h)。 なお、現時点での制限事項として、 \n や \r, \uXXXX といったエスケープの処理が未実装rev. 34232 で対応しました (含サロゲートペア) 空白文字の判断基準が RFC と異なるrev. 34277 で空白と

    tsupo
    tsupo 2009/07/03
    昨日、 http://github.com/hjiang/jsonxx/tree/master を watch し始めたところだったりする。C++ で JSON が、いま、暑い(のか?)
  • Big Sky :: ヘッダファイルだけでC++から使えるJSONパーサ「picojson」が凄い!

    kazuhoさんがやってくれました。 ずいぶん前からjsonをC++でパース(SAXじゃなくてDOM)するのに小さいライブラリないかなーと思ってました。個人的にはjson-cというのを使ってたのですが、幾らか気に入らない所があったりビルドが少し手間だったりしていました。STLしか使わなくてvectorとかmapで表現されるツリー構造な物が欲しいなぁって思ってたんです。 とあるIRCで昨日、kazuhoさんと「ほしいですよねー」という話から始まって、githubにあるjsonxxとかも物色しながら「いいのないねー」とか言ってたらkazuhoさんが「もすこし綺麗に書けそう」って言い出して朝から格的に書き始めてついさっき出来上がりました。速いw 名前はpicojson とても小さく、実装コードだと300数十ステップ程です。しかもヘッダファイルだけなので管理が楽です。 試しにwassrのpubl

    Big Sky :: ヘッダファイルだけでC++から使えるJSONパーサ「picojson」が凄い!
    tsupo
    tsupo 2009/07/03
    『jsonxxとかも物色しながら「いいのないねー」とか言ってたらkazuhoさんが「もすこし綺麗に書けそう」って言い出して朝から本格的に書き始めてついさっき出来上がりました。速いw』
  • RangeExがBoostに採択されました - Faith and Brave - C++で遊ぼう

    BoostML - Range.Ex library accepted into boost RangeExライブラリのレビューが完了し、Boostへの採択が決定しました。やったね。 レビューの結果、RangeExライブラリにいくつか変更が入るようです。 以下、レビューで判明した問題点です。 1.ドキュメンテーション アルゴリズムが標準アルゴリズムに委譲するものである場合、それを記載する。 アルゴリズムが新規のものである場合、複雑さ(Complexity)と例外安全性を記載する。 2.find()等の戻り値型の仕様 メカニズムに対する大きな反対はないが、その構文は醜いことがわかった。 以下のような構文が提案された。 boost::find[_f,_e]( range, x ) boost::find[_f+1,_e]( range, x ) 3.名前空間の構成 現在は以下の名前空間を使用し

    RangeExがBoostに採択されました - Faith and Brave - C++で遊ぼう
  • WhyINoLongerLikeOrUseCPlusPlus - もう C++ なんて好きでもないし使いもしない理由。

    WhyINoLongerLikeOrUseCPlusPlus - もう C++ なんて好きでもないし使いもしない理由。 目次 この文書について もう C++ なんて好きでもないし使いもしない理由。 もう C++ なんて好きでもないし使いもしない理由。 この文書について "Why I No Longer Like or Use C++" の日語訳です. http://prophipsi.blog-nospam-spot.com/2008/03/why-i-no-longer-like-or-use-c.html -nospam- は削除してください... 推敲歓迎: 誤訳, タイポ, 訳語の不統一, そのほか... 今日、 Artima に上がっていた C++ の記事を読んだ。右辺値参照(rvalue reference) という C++ の新機能について解説するものだ。頑張って読むうち

    tsupo
    tsupo 2009/04/02
    Java や Groovy に帰ろう → Java も同じような問題にはまってる気がする / 「私は C でもいいよ」
  • C CodでCコードをスクリプトのように扱う - SourceForge.JP Magazine

    C Codは、C、C++、またはObjective-Cコンパイラのフロントエンドとして、C言語をスクリプティング言語のように扱うことを可能とするものである。C Codには、C Server Pagesが付属している。C Server Pagesは、ウェブアプリケーションをCまたはC++で記述し、それをオンデマンドで自動的にコンパイルできるようにするために、CGIをサポートする。 Ubuntu、Fedora、openSUSE用のC Codパッケージは存在しない。今回は、64ビットのFedora 9マシン上でバージョン1.2.8のソースをビルドした。コンパイル中に小さな問題が生じたが、以下に示すように、CFLAGSにposition-independent code(PIC)のオプションを加えることにより解決することができた。PICコードは、メモリの別の場所にロードすることができるという利点が

    C CodでCコードをスクリプトのように扱う - SourceForge.JP Magazine
    tsupo
    tsupo 2008/11/26
    Run C とかが今も残っていれば、この方向に進化してる気がする / 最大の問題は Cコンパイラの実行(あるいはスクリプト言語以外で作成された CGI の実行)を禁止しているレンタルサーバが多いこと
  • C++ 12年ぶりに次世代スタンダードへ - "C++0x" 策定進み草案公開へ | エンタープライズ | マイコミジャーナル

    The C++ Programming Language プログラミング言語C++は1998年に発行され2003年に改訂された国際標準ISO/IEC 14882を仕様として採用している。ISO/IEC 14882はC++の言語仕様と標準ライブラリの双方を規程しており、1998年に規程されたものは通称C++98、2003年に改訂されたものは通称C++03と呼ばれている。現在、JTC1/SC22/WG21 - The C++ Standards Committeeにおいて次期C++仕様"C++0x"の策定が進められている。最終的に12年ぶりに新しいC++が登場ということになりそうだ。 C++0xはC++98/03との互換性は確保しつつ、言語仕様と標準ライブラリの双方の規約を改訂するもので、新しい機能として並列プログラミングのサポートやプログラミングの簡素化、関数プログラミング機能の強化、ジェネ

    tsupo
    tsupo 2008/11/12
    ISO C++ Standards Committeeは次世代C++仕様を2010年に正式公開する見通しを立てている → 2010年だと、C++0x じゃなくて、C++10 になるんじゃないのかな? 2009年のうちに正式公開しないと、0x じゃないよ!!
  • C++で演算子オーバーロードしたときの演算子決定基準について調べた - 矢野勉のはてな日記

    C++すみませんしょぼい話です。『ジョエル・オン・ソフトウェア』の下記記事で 間違ったコードは間違って見えるようにする - The Joel on Software Translation Project C言語では i = j * 5 は j を5倍する以外の意味はないけども、C++の場合は、i = j * 5 が何を意味するかは i と j の型を調べ、型の定義を見て、型にサブクラスがないかどうかをチェックし、もしあったら、実際には i あるいは j がそのサブクラスの方だったりしないかどうかチェックして初めて、 i = j * 5 の意味がわかる、という話があります。この話をtwitterにぽろぽろ書いているうちに、自分がC++の演算子オーバーロードについて無知であることが分かったので実験コードを書いてました。 その実験コード書きながらもtwitterにぽろぽろ書いてたんですが、何度

    tsupo
    tsupo 2008/09/24
    明示的にコンストラクタを呼び出したい場合は CBase *base = new CBase(); と書けばいいし / virtual は油断すると、いろいろな罠にはまるので注意(メモリリークの原因になったり、予想外のメソッドが動いたり)
  • Kazuho@Cybozu Labs: C++ テンプレートを使って MBCS と Unicode ちゃんぽんなコードを書く話

    tsupo
    tsupo 2008/09/13
    VC++ でA系とW系を両方同時に使うプログラムを書こうとすると、かなり苦労することになるんだよなぁ