C++に関するnoyaのブックマーク (16)

  • 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との互換性は確保しつつ、言語仕様と標準ライブラリの双方の規約を改訂するもので、新しい機能として並列プログラミングのサポートやプログラミングの簡素化、関数プログラミング機能の強化、ジェネ

    noya
    noya 2008/11/12
    なんか歪んでる気がする
  • C++0xの言語拡張まとめ(※随時更新) - Faith and Brave - C++で遊ぼう

    C++0xの概要はこちら ・Angle bracket テンプレートの連続した山カッコの問題の解決 ・初期化子リスト ユーザー定義のクラスで配列のような初期化構文を実装可能になる ・Uniform initialization コンストラクタの構文と初期化子リストの構文が一様になる ・デリゲーティング・コンストラクタ コンストラクタから他のコンストラクタを呼び出せる ・auto 型推論 ・記憶クラス指定子としての auto の削除 autoキーワードの意味が変更になるため、下位互換がなくなる ・decltype sizeofの型版 ・Template Aliases テンプレートを使用して型の別名を付けることができる。いわゆるtemplate typedef ・拡張sizeof 構造体/クラスのメンバをインスタンス化せずにsizeofすることが可能になる ・nullptr ヌルポインタを表

    C++0xの言語拡張まとめ(※随時更新) - Faith and Brave - C++で遊ぼう
    noya
    noya 2008/07/23
    次世代C++はいろんな機能が満載っぽい。拡張forとか初期化子リストがとりあえず便利そう。今まではstd::mapにデータ詰めるのが面倒だったからね。。。(p_q
  • MySQL++

    MySQL++ is a C++ wrapper for the MySQL and MariaDB C APIs. It is built on the same principles as the Standard C++ Library to make dealing with the database as easy as dealing with std containers. MySQL++ lets you avoid the most repetitive sorts of SQL by providing native C++ interfaces for these common tasks. If you have questions about this project and can’t find an answer in the documentation or

    noya
    noya 2008/05/22
    API 自分で実装するが早いか、ライブラリを導入するが早いか。。。
  • C++入門

    目指せプログラマー!にようこそ。 当サイトはこちらに引っ越しました。 お手数をおかけしますが、上記サイトへご移動くださいませ。

    noya
    noya 2008/05/07
    さりげなく便利
  • Stroustrup: C++ Style and Technique FAQ 日本語訳

    Bjarne StroustrupによるC++のスタイルとテクニックに関するFAQ オリジナル: Bjarne Stroustrup's C++ Style and Technique FAQ ここにまとめられているのは、私がよく尋ねられるC++のスタイルとテクニックに 関する質問です。もしよりよい質問や回答に対するコメントがあれば、遠慮なく私に メール(bs@research.att.com)でお知らせください。なお、ホームページを改善する ために、私はあまり時間を割けないということを心に留めておいてください。 より一般的な質問は、一般的なFAQを 参照してください。 用語や概念については、C++用語解説を 参照してください。 この文書の内容は、質問と回答をまとめただけのものであるということに注意して ください。よい教科書にみられるような、注意深く選ばれた例題と解説の代わりになる もので

    noya
    noya 2008/04/25
    私はint* p派
  • C++ Coding Standards 101のサマリのサマリの日本語訳

    [ C++で開発 ] 書籍「C++ Coding Standards: 101 Rules, Guidelines, And Best Practices」 のサマリのサマリの日語訳 Herb Sutter、Andrei Alexandrescu両氏によるコーディング標準のルール名を列挙します。 ルール名 組織およびポリシー関連 0. ささいなことを気にかけるな(標準化すべきではないものを知れ) 1. コンパイラの警告を最大レベルにして、すべての警告を取り除け 2. ビルドを自動化せよ 3. バージョン管理システムを使え 4. コードレビュー投資せよ 設計様式 5. ひとつの要素にはひとつの責務 6. 正確性、簡潔性、明りょう性がまず最初 7. いつどのようにコードにスケーラビリティを持たせるかを知れ 8. 時期尚早に最適化しない 9. 最初から悲観的にならない 10. 大域データ、

  • Boost Libraries - 1.84.0

    Boost C++ Libraries ...one of the most highly regarded and expertly designed C++ library projects in the world. — Herb Sutter and Andrei Alexandrescu, C++ Coding Standards Libraries Listed Alphabetically Libraries Listed by Category Algorithms Broken compiler workarounds Concurrent Programming Containers Correctness and testing Data structures Domain Specific Error handling and recovery Function o

    noya
    noya 2007/11/20
    サンプルを探す前にRTFMと言うことか doxygen生成じゃないけど、結構読みやすい
  • Submit Form

    Submit Form
  • [C++]Template で Template Method

    テンプレートでデザインパターンの Template Method を実装する方法。 template<class T> class Base { public: // 継承先のクラスにキャストして実行 void Run() { static_cast<T*>(this)->Foo(); } protected: void Foo() { std::cout << "Base Foo()" << std::endl; } }; // 自身のクラスを Base<> の引数に与える class Inherit : public Base<Inherit> { protected: // override in Base void Foo() { std::cout << "Inherit Foo()" << std::endl; } }; void main() { Base<Inherit>

    noya
    noya 2007/07/18
    CRTP
  • C++で読むデザインパターン(Design Patterns read by C++)

  • 本物志向

    hiClassは自称「通信の解るコンパイラ屋」日浦 潔氏が独自に開発したC++の汎用クラスライブラリ です。「ハイクラス」と読みます。彼のホームページでの紹介です。 http://www.nn.iij4u.or.jp/~hiura/index.htm hiClassは大規模で確実な動作の要求される仕事をしているシリアスプログラマのための実用C++クラスセットです。 用意されるクラスは文字列クラスやコンテナからソケット通信機、スレッドクラスまで含む幅広いものとなっています。 さらには、コマンドライン解析機や16進ダンプ機など単純でありながら自力で書き下ろすのは面倒なもの、 時間/時刻といったこれも単純とは言えバグを極めて生みやすいもの、 0初期化されるintなどなど、現実的なプログラミングにおいてバグを生まないための 数々の工夫のされたクラスセットとなっています。

  • DoxygenToolkit.vim - Simplify Doxygen documentation in C, C++, Python. : vim online

    Currently five purposes have been defined : Generates a doxygen license comment.  The tag text is configurable. Generates a doxygen author skeleton.  The tag text is configurable. Generates a doxygen comment skeleton for a C, C++ or Python function or class, including @brief, @param (for each named argument), and @return.  The tag text as well as a comment block header and footer are configurable.

  • DoxyGen Syntax - DoxyGen Highlighting on top of c/c++/java : vim online

  • Xerces-C++ XML Parser

    Xerces-C++ is a validating XML parser written in a portable subset of C++. Xerces-C++ makes it easy to give your application the ability to read and write XML data. A shared library is provided for parsing, generating, manipulating, and validating XML documents using the DOM, SAX, and SAX2 APIs. For an introduction to programming with Xerces-C++ refer to the Programming Guide. Xerces-C++ is faithf

    noya
    noya 2007/01/18
  • Let’s use doxygen!

    はじめに プログラマには、ドキュメント、とくにプログラムの内部仕様書を書くのが苦手、 という人が多い。 その理由は明らかであって、そもそも、ソースコードに (バグも含めて)*1 すべての仕様が子細もらさず書かれているのに、なぜ、さらにそれと独立した仕様書が必要なのかと、 (半ば気で) 思ってしまうからである。 ソースコードと独立にメンテナンスをしなければならないような仕様書は、 いずれソースコードと整合性が取れなくなって、無意味ならまだしも、 かえって害をなす存在となり果てることもある、ということを、 彼らは経験的に理解しているのである。 (*1) Ruby の作者である、まつもとゆきひろ氏は、 その著者『オブジェクト指向スクリプト言語 Ruby』の中の「付録C Ruby 用語集」で、 次のように書いている: ドキュメント まつもとの苦手なもの。彼は普段から「ソースがドキュメントだ。

  • C++でDuck Typing - odz buffer

    >Duck Typing 調べてみたけどさっぱりだー クラスAとBがあって、それぞれに継承関係がなかったとしても、同じメソッドを持っていれば同じように扱うことができる…ってことかなぁ…むずかしぃ それで間違ってないです。難しいっていうのは理屈では理解できるけどでも、あひるがどうのこうの言われても実感がわかないとってことだと思うので、簡単なサンプル。 #include <iostream> #include <vector> #include <list> #include <string> #include <iterator> #include <algorithm> template<typename Source, typename Destination> void copy_container(const Source& src, Destination& dest) { typ

    C++でDuck Typing - odz buffer
    noya
    noya 2006/09/03
  • 1