[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

タグ

c++に関するsmotokezuruのブックマーク (15)

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

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

    【C++】なぜヘッダと実装はわけるべきなのでしょうか(.hに実装を書くことは邪道か)
  • モダンなC, C++の開発環境の構築方法 - 考える人、コードを書く人

    まだC, C++がないようなので書いてみた。主にLinux(DebianとかUbuntu)での環境構築について。 コンパイラ まずはapt-getでコンパイラをインストールする。UbuntuやDebianなら以下のコマンドでgccやg++および標準ライブラリ等がインストールされる。 $ sudo apt-get install build-essential デバッグツール デバッガおよびデバッグツールは少なくとも以下の三つは入れる。(あとltraceも欲しいかな?) GDB 言わずと知れたGNUのデバッガ Valgrind メモリリークや不正メモリアクセスの検出 strace システムコールのトレース $ sudo apt-get install gdb valgrind strace ビルドツール C, C++のビルドツールといえばまずmakeが浮かぶけど、最近ではSConsやCMak

    モダンなC, 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

  • 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」が凄い!
  • Google C++スタイルガイド 日本語訳

    Text Drop 翻訳、プログラミング、写真、カメラなどについて書いてます。スタイルガイド/コーディング規約やチートシートなど、ちょっと便利なものを翻訳しています。 TEXTdropでは、C++プログラマーも利用できるパワフルな機能を搭載。C++のコードを書く際に行う手順や避けておきたい工程などを詳しく説明しています。コードスタイルラインの日語版では、日語訳やJ P Yへの換金もサポート。話題性があるオンラインカジノ 日円変換や入金の際のバグにも対応しています。統一性のあるコードを書くためのポイントや規約の種類を参考にする事ができます。

  • 変電工 - Google C++スタイルガイド日本語訳

  • C++ Style Guide

    Benjy Weinberger Craig Silverstein Gregory Eitzmann Mark Mentovai Tashana Landray This style guide contains many details that are initially hidden from view. They are marked by the triangle icon, which you see here on your left. Click it now. You should see "Hooray" appear below. Hooray! Now you know you can expand points to get more details. Alternatively, there's an "expand all" at the top o

    smotokezuru
    smotokezuru 2008/07/01
    Googleエンジニアが守っている「C++ Style Guide」
  • C++の勉強ですが - higepon blog

    激しく初歩からやり直したいのでロベールさんのが良いでしょうか。 お勧めのがあったら教えてください<(_ _)>。 僕は大体レベルとしては id:higepon:20080319:1205932496 くらいで、better C として適当にC++使ってきた感じです。 勉強するなら今しかない。 とりあえず明日屋に行くこと決定。 追記 みなさんにいくつかご推薦をいただきました。ありがとうございます これから屋に行ってきます。 もしかしたらもっと初心者向けのを買うかもしれません。 JIS規格のJIS X3014 id:akinishi さん C++の設計と進化 id:SaitoAtsushiさん、id:objectxさん、id:scinfaxiさん、なつたんさん C++再考 とおるさん。これよさそう。 Effective C++ 原著第3版 id:objectxさん。id:temtan

    C++の勉強ですが - higepon blog
  • ロベールのC++入門講座を読んで C++ を初歩の初歩から再入門するよ - 後編 - higepon blog

    ロベールのC++入門講座を読んで C++ を初歩の初歩から再入門するよ - 前編の続きです。 13章 もっと深く(11:12) 13-12 から再開。 テンプレート引数には typename 以外のものも使えるよという話。 まずはテンプレート引数にクラステンプレートを渡す話。 簡単に写経。 template <template <typename, typename> class TEMPL> class Huga { public: TEMPL< int, allocator<int> > v; }; Huga<vector> huga; 次にテンプレート引数に整数定数を渡す場合。 おお。これは使えるなあ。 template <int N> class SBit { public: static const int VALUE = 1 << N; }; int main(int argc

  • ロベールのC++入門講座を読んで C++ を初歩の初歩から再入門するよ - 前編 - ひげぽん OSとか作っちゃうかMona-

    前置き 自分の C++ レベルに絶望したので「ロベールのC++入門講座」を読んで再入門していく過程を日記に書いていきます。 「おまえはそんなことも知らずにコードを書いていたのか!」「それは間違い!」など叱咤激励募集中です:-) 読んでみたら、たくさんの驚きがありました。 スルーせずに読んでもらえると1つくらい役に立つことを提供できるかもしれません。 例えば5章のデフォルト引数に関数を使える例とか。 ルール 前置きはともかくはじめましょう。13:48にスタバで始めました。 読んで行くうえでいくつかルールを決めます。 知らなかったことは正直に知らなかったと書き、自分が読んで分かる説明を書く。 知識が曖昧だった所も同様に明確な説明を書く。 悩んだ内容を書く。 理解が怪しい所は必ずコードを書く。 さあ1章から読んでみよう。 1章 まずは使い方(13:50) 各 OS 毎に C++ の開発ツールを紹

  • .h と .cpp の切替え - higepon blog

    rails.elのアレで思い出したので設定した。 (add-hook 'c++-mode-hook (function (lambda () (define-key c++-mode-map "\C-c\C-p" 'ff-find-other-file) (define-key c++-mode-map "\C-c\C-n" 'ff-find-other-file) )))

    .h と .cpp の切替え - higepon blog
  • 音声認識ソフトを作ろう

    音声認識」そのものは素人には敷居が高いテーマですが,肝心の「認識」の部分については マイクロソフトから音声認識用のSDKが無償で提供されていますので, 「音声認識をしてなにかするソフト」を作ること自体はそう難しいことではありません。 音声認識で動作するソフトが自作できるようになると,声で動くゲームを作ったり, ロボットに声で指令を与えたり,家電を声でコントロールしたりと,いろいろ夢が広がります。 今回はそのSDKのインストールと,サンプルプログラムのいじり方,音声認識エンジンのカスタマイズ の仕方などについて紹介したいと思います。 これを読んで得られるもの ここに書いてある内容をそのままやれば, Windowsで,マイクからの音声入力を使って何かするプログラムが作れるようになる 『ドラゴンボール』など任意の単語も認識できるようになる はずです。 実験を行った基ソフトウェア環境 今回のコ

  • C++ Coding Standard

    Using this Standard. If you want to make a local copy of this standard and use it as your own you are perfectly free to do so. That's why I made it! If you find any errors or make any improvements please email me the changes so I can merge them in. I also have a programming blog at http://radio.weblogs.com/0103955/categories/stupidHumanProgramming/ that is accidently interesting at times, as is my

  • C++ で SICP - memologue

    計算機プログラムの構造と解釈 の問題を、Schemeで一問一問解いてゆくのが流行りな2006年でした(師走気分)。このSICPをHaskellやCleanで解いている方はいますが、意外にもC++で解いている人が見当たらないので(注: あたりまえ)、C++のテンプレートはさっぱりよくわからんなぁと思いつつ適当にやってみます。ネタです。 [ネタ1] exercise 1.45, 1.46 まずは、問題1.45-1.46を。これらは1章の最終問題で、1章で学んだ手続き抽象のテクニック全てを使う感じがして楽しいです。xのn乗根を反復改良法で求める関数 nth-root を作るという設問です。 まずはSchemeで解く 私の拙いスキーム力を用いて書いてみるとこんな感じ*1? (define (compose f g) (lambda (x) (f (g x)))) (define (repeated

    C++ で SICP - memologue
  • Efficient data transfer through zero copy

    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.

    Efficient data transfer through zero copy
  • 1