Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

タグ

C++に関するhirocuekiのブックマーク (45)

  • 【C++】なぜヘッダと実装はわけるべきなのでしょうか(.hに実装を書くことは邪道か)

    私はC++歴3年の学生趣味プログラマーです。 「C++はなぜヘッダと実装を分けなくてはならないのか/そもそも当に分けなければならないのか」という質問です。 C++といえば、ヘッダー部と実装部を.hファイルと.cppファイルに分けることが一般的とされている言語ですが、 これは同じオブジェクト指向言語のC#やJavaにはない特徴です。 そのせいでC++使いたちは今日もcppファイルとhファイルを行ったり来たりしながらコーディングする羽目になっています。(そしてVS使いはF12とCtrl+-を得意気に連打しています。) 私にとってもそれが当たり前になって久しいですが、 時々C++を学び始めたばかりの後輩から「なぜヘッダファイルに実装を書いてはならないのか」「なぜC++は二度も同じコードを書くことを強いるのか」と質問を受けます。 私はそのたびに「実装の隠蔽化」とか「循環参照の危険が云々」とか「そ

    【C++】なぜヘッダと実装はわけるべきなのでしょうか(.hに実装を書くことは邪道か)
    hirocueki
    hirocueki 2015/06/10
    hは「こんなことができます」っていうアレ。cppは「こんなことしてます」っていうアレ。混ぜると使う気が失せるアレ。
  • 最新C++への注力を強めるVisual Studio “14"

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    最新C++への注力を強めるVisual Studio “14"
  • C++14登場 -その新機能

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    C++14登場 -その新機能
  • 標準C++の正規表現: <regex>

    正規表現のおはなしは6年前、標準入りが確実視されていたBoost版で一度書いていますが、その後C++11化に伴いスペックに多少の変更がなされたようなので、今回改めての"仕切り直し版"。 <regex> 標準C++ライブラリ:<regex>に用意された正規表現コンポーネントは、次の4つに分類されます。 正規表現 std::basic_regex<charT> 照合/検索の結果 std::match_results<Iter>, std::sub_match<Iter> 照合/検索/置換アルゴリズム std::regex_match<>, std::regex_search<>, std::regex_replace<> 照合を繰り返すイテレータ std::regex_iterator<>, std::regex_token_iterator<> 正規表現:basic_regex<charT>

    標準C++の正規表現: <regex>
  • Zedが何故mongrel2にC++を使わなかったか - karasuyamatenguの日記

    Linusに続いてZedもC++をボロクソにけなしている。 メーリングリストで「C++でstd::stringとか使ったらメモリ管理とかスッキりするよ」という意見に対してのZedの反論: http://librelist.com/browser//mongrel2/2010/7/15/c-verses-c++/#770d94bcfc6ddf1d8510199996b607dd まず、ZedはC++使った経験があり、Linusのよう全くC++を否定している理由ではない。現在でもMulletDBなどプロジェクトによっては使うようだ。Grace frameworkは良しとしている。ただ、mongrel2のように「簡単な」プログラムにはC++は大袈裟としている。 mongrel2をCで実装した理由 CはPosixに対して「最小摩擦のアクセス」を提供しているので、mongrel2のようなプロジェクト

    Zedが何故mongrel2にC++を使わなかったか - karasuyamatenguの日記
    hirocueki
    hirocueki 2011/11/07
    興味深く読んだ。
  • TDD Boot Camp 東京 for C++ に参加 & 講演してきました #tddbc - Natural Software

    告知 TDD Boot Camp 東京 for C++ on Zusaar Togetter TDD Boot Camp 東京 for C++ まとめ #tddbc - Togetterまとめ お題 TDD Boot Camp 東京 for C++ 課題 Git入門 t-pot『Git入門-「TDD Boot Camp 東京 for C++」向け-』 当日のまとめ TDD Boot Camp(TDDBC) - TDD Boot Camp 東京 for C++ TDD Boot Camp 東京 for C++ に参加 & 講演してきました。 最初はサポート要員としての参加だったのですが、和田さんより講演の依頼をいただきました。せっかくのお話なので、和田さんの部分の講演をしてきました。 スライド 今日のスライドです TDDのサイクルの絵は id:shuji_w6e さんからいただきました。急な

    TDD Boot Camp 東京 for C++ に参加 & 講演してきました #tddbc - Natural Software
    hirocueki
    hirocueki 2011/10/11
    いきたかった
  • Code Recipe - 連載! とことん VC++

    連載! とことん VC++ プログラミング言語の奥深さを楽しく理解するための達人による連載記事です。 執筆者: エディフィストラーニング株式会社 矢嶋 聡 この一連のシリーズの記事では、今後、Visual C++ プログラミングで利用できる様々なテクノロジを有効活用するためにも、普段何気なく使用しているこれら機能の基を振り返り足元固めするほか、 Windows 7 の新機能に関わる API など、比較的新しい機能についてもいくつか取り上げていきます。 1993 年に Visual C++ 1.0 が登場して以来、Visual C++ がバージョン アップする過程で、Visual C++ におけるプログラミング環境には、様々なテクノロジやライブラリが導入されてきました。また、1 つ 1 つのライブラリ (たとえば、MFC や ATL など) にしても、その量は膨大です。そのような状況の中で

    Code Recipe - 連載! とことん VC++
  • C++ のシンボルをデマングルする - bkブログ

    C++ のシンボルをデマングルする C++ コンパイラはシンボルが一意の名前を持つように名前マングル (name mangling) と呼ばれる処理を行います。記事では GNU の開発環境で C++ のシンボルをデマングル (demangle) する方法を紹介します。 マングルの方法はコンパイラ依存です。同じコンパイラでもバージョンによってマングルの方法が異なることがあります。たとえば GCC 3.x では int foo(int) を _Z3fooi に、 int foo(const char*) を _Z3fooPKc のようにマングルしますが、 GCC 2.95 ではそれぞれ foo__FPCc, foo__Fi となります。 コマンドラインからデマングル C++ のオブジェクトファイルに nm をかけると、デフォルトではマングルされた読みづらい形式でシンボルが出力されます。 %

  • COM インスタンスを作成する

    ここの備忘録は、あくまでも走り書き程度のメモ的なものですので気をつけてください。 そのままでもちゃんと動くもの、手を加えないとだめなものなど、未完成レベルのコードです。ので、そのまま引用してしまうなど、プログラムを理解する知識のない方は利用しないでくださいね。 今回は Visual Studio .NET の Visual C++ 7.0 で作成した ComTest という COM コンポーネントを同じく Visual C++ 7.0 のプログラム内で使用するという感じのお話です。VC++ 6.0 とは少しやり方が違ったようなので、まとめて見ました。 ComTest というコンポーネントには、IComTest インターフェイスと、CComTest という CoClass が用意されているものとします。タイプライブラリファイルは _ComTest.tlb です。

  • わんくま同盟 横浜勉強会#03でしゃべってきました - Faith and Brave - C++で遊ぼう

    「Boostのあるプログラミング生活」というタイトルでしゃべってきました。 資料は以下になります。 Boostのあるプログラミング生活View more presentations from faithandbrave.

    わんくま同盟 横浜勉強会#03でしゃべってきました - Faith and Brave - C++で遊ぼう
  • googletestまとめ - エンジニアのソフトウェア的愛情

    導入 →googletestについてのまとめ テストの記述 基的な使い方 →基的な使い方 前処理・後処理のあるテスト →前処理・後処理のあるテスト アサーション 二種類のアサーション(FatalなアサーションとNonFatalなアサーション) 真偽を評価するアサーション 二つの値を比較するアサーション C言語形式の文字列を比較するアサーション →アサーションの解説(1) 例外を扱うアサーション →アサーションの解説(3) 評価方法を指定するアサーション 無条件の成功と失敗 →アサーションの解説(2) 実行時オプションと環境変数 →実行時オプションと環境変数(1)

    googletestまとめ - エンジニアのソフトウェア的愛情
  • C++の便利ツール・ライブラリ - DO++

    フルタイムで働きはじめて4ヶ月。 いろんなことがありました。 今日はインターンが来ているということもあり日頃のC++コーディングライフの中で大変重用しているツールを紹介します。といってもどれも有名なツールでググれば解説がでてくるとは思いますので、一言ずつだけ紹介してみます。みなさんも何かよさげなライブラリ・ツールがありましたら教えてください。 - valgrind/callgrind/cachegrind プログラムの実行結果を解析するツール群。まぁ、王道であえて紹介する必要はないかもしいませんが.。valgrindはプログラムのどこかでメモリが漏れているかどうかのチェックに使います.コードのどの部分で確保した領域がどこで漏れているかまで追跡することができます valgrind --leak-check=full command プログラムのどのが計算量的にボトルネックになっているかを調べ

    C++の便利ツール・ライブラリ - DO++
    hirocueki
    hirocueki 2010/08/17
    便利なツールがあるのは知ってたけど、簡潔にまとめられていていいですね!使ってみよう、ありがとう!
  • 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++の話(本当にあった怖い話)
  • C++のクラスをマスターしよう(前編)(1/5) - @IT

    書籍転載 文法からはじめるプログラミング言語Microsoft Visual C++入門 C++のクラスをマスターしよう(前編) ―― 第10章 クラス~オブジェクト指向プログラミング(前編) ―― WINGSプロジェクト 矢吹 太朗(監修 山田 祥寛) 2010/05/19 コーナーは、日経BPソフトプレス発行の書籍『文法からはじめるプログラミング言語Microsoft Visual C++入門』の中から、特にInsider.NET読者に有用だと考えられる章や個所をInsider.NET編集部が選び、同社の許可を得て転載したものです。基的に元の文章をそのまま転載していますが、レイアウト上の理由などで文章の記述を変更している部分(例:「上の図」など)や、図の位置などをサイトのデザインに合わせている部分が若干ありますので、ご了承ください。『文法からはじめるプログラミング言語Micros

  • Visual C++ のランタイムライブラリの設定

    ランタイムライブラリとは、プログラムを実行するために必要なライブラリである。 Visual Studio は複数のランタイムライブラリを提供している。 Visual C++ でアプリケーションを作成する際には、 利用するランタイムライブラリを指定する必要がある。 ランタイムライブラリの指定は、 構成プロパティ:C/C++:コード生成:ランタイムライブラリ で行う。 Visual Studio .NET 2003 で通常のアプリケーション用に提供される ランタイムライブラリは、以下の6種類がある。 マルチスレッド(/MT) マルチスレッド デバッグ(/MTd) マルチスレッド DLL(/MD) マルチスレッド デバッグ DLL(/MDd) シングルスレッド(/ML) シングルスレッド デバッグ(/MLd) ()内はコンパイラに与えるオプションである。 ただし、シングルスレッドは2005から廃

  • インテルTBBによる選択ソートの高速化(1/3):CodeZine

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    インテルTBBによる選択ソートの高速化(1/3):CodeZine
  • コーディング技法

    Download Visual Studio 2003 Retired Technical documentation from Official Microsoft Download Center Internet Explorer was retired on June 15, 2022IE 11 is no longer accessible. You can reload Internet Explorer sites with IE mode in Microsoft Edge.

  • Windows Web サービス

    このブラウザーはサポートされなくなりました。 Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。 Windows Web サービス Kenny Kerr サンプル コードのダウンロード 多くの開発者がこぞって Microsoft .NET Framework を (また、.NET Framework ほどではありませんが Java も) 使用するようになった主な理由の 1 つは、これを使用すると、インターネット用のソフトウェアを作成するのが大幅に容易になるためです。HTTP クライアント アプリケーションと HTTP サーバー アプリケーションのどちらを作成する場合でも、.NET Framework は、HTTP 要求を行い XML を容易に処理するための多くのクラスを提供しました。WSDL ドキュメント

    Windows Web サービス
    hirocueki
    hirocueki 2009/12/09
    マイクロソフトの開発者は、C++ 開発者のことを忘れたわけではありませんでした。
  • グーグル、C/C++に代わる新言語「Go」をOSSで公開 - @IT

    2009/11/11 グーグルは2009年11月10日、Cのようにシステム記述に適したプログラミング言語「Go」をBSDライセンスの下に公開した。C++のようなC言語の拡張ではないが、Cに似た構文が特徴で、ガベージコレクタ(GC)や並列プリミティブ、イテレータ、実行時リフレクションなどを備えた新しい設計が目を引く。Goグーグルの社員7人が「20%の自由時間」を利用して開発した。設計・実装を行っているのが分散OS「Plan 9」の創案者であるロブ・パイク氏や、Unix、Cの生みの親、ケン・トンプソン氏、Google ChromeのV8エンジンを開発したロバート・グリースナー氏など錚々(そうそう)たるメンバーで、こうした点でも注目を集めそうだ。 グーグル社内では、まだGoを使っていないが、今後はWebサーバなどのシステム関連のソフトウェアで実用を検討しているという(Goのオフィシャルサイトは

    hirocueki
    hirocueki 2009/11/11
    Goで歴史がかわるかも?
  • Visual Studio User Group > コラム > Visual C++ 9.0ってどう変わった?

    Visual C++ 9.0ってどう変わった? Visual C++/CLI その他 フォーラムリーダー:社 明弘 こんにちは。Visual C++/CLI その他 フォーラムリーダー の社です。まだまだ暑い日が続いておりますが、皆様いかがお過しでしょうか。この記録的な猛暑の中、私たち開発者の心を更に熱くさせてくれる Visual Studio 2008 Beta2 日語版 (VS2008) が、8月10日にリリースされました。夏休み等を利用するなどして、早速インストール&評価された方も多いかと思います。今回のコラムでは、Visual C++ 9.0 (VC9)がどう変わったのかを紹介したいと思います。 題に入る前に・・・8月21日から24日まで、Tech・Ed 2007 Yokohamaが開催されています。会場でこのコラムを読まれている方もいらっしゃるかもしれませんね。Tech