タグ

C++に関するInoHiroのブックマーク (23)

  • C++ ポインタ ブートキャンプ

    Sapporo.cpp & CLR/H 合同勉強会 ( http://atnd.org/events/33614 ) で発表したスライドです。

    C++ ポインタ ブートキャンプ
  • 入門ガイド — Google Test ドキュメント日本語訳

    はじめに:なぜ Google C++ Testing Frameworkを使うのか¶ Google C++ Testing Framework を上手に活用すれば,より良い C++ のテストを書くことができます. LinuxWindows,そして Mac,あなたが C++ のコードを書いているこれらの環境に関係なく Google Test を利用できます. では,優れたテストを書くにはどうすればよいのでしょうか?Google C++ Testing Framework は,どのように役立つのでしょうか?我々は次のように考えています: テストには, 独立性 と 再現性 が必要です.別のテストの結果に依存して成功したり失敗したりするテスト,をデバッグするのは非常に面倒な作業です.Google C++ Testing Framework は,各テストを異なるオブジェクト上で実行することによって

  • Deep C

    Programming is hard. Programming correct C and C++ is particularly hard. Indeed, both in C and certainly in C++, it is uncommon to see a screenful containing only well defined and conforming code.Why do professional programmers write code like this? Because most programmers do not have a deep understanding of the language they are using.While they sometimes know that certain things are undefined o

    Deep C
  • Printing 1 to 1000 without loop or conditionals

    Collectives™ on Stack Overflow Find centralized, trusted content and collaborate around the technologies you use most. Learn more about Collectives Teams Q&A for work Connect and share knowledge within a single location that is structured and easy to search. Learn more about Teams

    Printing 1 to 1000 without loop or conditionals
    InoHiro
    InoHiro 2011/08/16
    おもしろい
  • とある情報工学科の大学生活 CTF:2011年問題の考察

    InoHiro
    InoHiro 2011/08/16
  • cpprefjp

    Not your computer? Use a private browsing window to sign in. Learn more about using Guest mode

    InoHiro
    InoHiro 2011/08/15
  • Boost C++ライブラリ - Wikipedia

    Boost (ブースト)とは、C++の先駆的な開発者のコミュニティ、およびそのコミュニティによって公開されているオープンソースのソフトウェアライブラリのことを指す。 概要[編集] コミュニティとしてのBoostはC++標準化委員会の委員により設立されており、現在でもその多くが構成員として留まっている。このような経緯もあり、BoostコミュニティはC++の標準化において大きな影響力を有している。実際に標準化委員会が発表した「TR1」の2/3以上がBoostライブラリを基にしている。Random, Regex, ThreadなどはいずれもC++11規格の標準ライブラリとして正式に導入・標準化されている。その後もOptionalやAnyなどがC++17規格で導入されており、影響を与え続けている。このことから、Boostは考案された新機能を標準化させる前の試験運用の場であるとも言える。 Boost

  • TFS 2015 build drop folder explorer link not opening - MSDN Blogs

    In Visual Studio 2022 17.10 Preview 2, we’ve introduced some UX updates and usability improvements to the Connection Manager. With these updates we provide a more seamless experience when connecting to remote systems and/or debugging failed connections. Please install the latest Preview to try it out. Read on to learn what the Connection ...

    TFS 2015 build drop folder explorer link not opening - MSDN Blogs
  • Spaghetti Source - 各種アルゴリズムの C++ による実装

    ACM/ICPC(プログラミングコンテスト)系列の問題を解くことを目標にして,各種アルゴリズムを C++ で実装してみた.極めて意地が悪い類の問題には対応していないし,特定の入力に対して高速に動くということもない.計算量も最良とは限らない. これらを参考にする方への注意とお願い: これらの記述は正確とは限りません.参考文献を参照することを強く推奨します.間違っている場合は是非教えてください. これらのプログラムは間違っているかもしれません.各人で検証することを強く推奨します.バグがあれば是非教えてください. 分類が怪しいので,これはこっちだろう,ということがあればコメントを下さると助かります. 注意! 現在書き換え中 TODO 分類を正しく行う. 全体的に説明と使い方を詳しく. Verify していないものを Verify. ボロノイ図(いつになることやら……) 基 テンプレート グラフ

  • C++の文法が複雑過ぎると話題に(俺の中で) | TRIVIAL TECHNOLOGIES 4 @ats のイクメン日記

    みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 みんなのブロックチェーンは,ブロックチェーンの入門書。暗号やハッシュなどを含め,基礎からブロックチェーンの仕組みを学べる書籍です。 いろんな方に「新しい技術を学ぶことの楽しさ」を感じ取ってくれたら著者として嬉しいです:-)。お金技術的にどのように定義されるのか。 みんなのIoTは,モノのインターネットと呼ばれるIoTの入門書です。IoTの基について,読者に寄り添って優しく解説しました。裏テーマは一番とっつきやすいPython入門書。サポートページはこちら みんなのPython 第四版は,より分かりやすい入門書を目指し,機械学習やデータサイエンスの章も追加して第三版を大幅に書き換えました。Python 3.6にも華

    InoHiro
    InoHiro 2011/06/16
  • C++のXMLパーサ所感 - in the box

    RapidXML シンプルなんだけど微妙に使いにくい。あとそこまで速度は求めてない。 TinyXML シンプルで使いやすい。 TiCPP(TinyXML++) 中途半端なiteratorとかでむしろ使いにくくしちゃってるような。 Xerces-C++ XML Parser やたらでかい。 MSXML なんとなく使う気になれない。

  • 久々にC++使ったら進化してて素敵になってた件 – taichino.com

    最近、数年ぶりにC++を触っているのですが、いつの間にかかなり使いやすくなっていました。まだ全容は把握できてないのですが、とりあえず印象に残った以下の項目について書いてみたいと思います。 BOOST_FOREACHとautoですっきりループ tupleで無くなる無駄な構造体 #pragma onceで楽々インクルードガード std::functionとlamda関数でコンパクトなコード typeidでリフレクション 主にC++0x周りの話だと思っていますが、勘違いしている可能性も高いです。 前置きですが、エントリ内のコードはすべてgccの4.5.0で動作確認を行っています。(mac portのgcc45パッケージをインストールしました)。またビルド時にはc++0xの使用を明示する必要があります。 $ g++-mp-4.5 -std=c++0x main.cpp 1. BOOST_FORE

  • Xerial Wiki: 2010年度 生物情報科学科 情報基礎実験 - C++プログラムのデバッグ

    2010年度 生物情報科学科 情報基礎実験 資料 2010年11月2日 C++プログラムのデバッグ手法 この資料のURL http://www.xerial.org/wiki/lecture/2010/CppDebug 担当: 斉藤 太郎 (http://www.xerial.org/leo) クラスを使ったプログラミング クラスを使う理由は、おおざっぱに コードを再利用したいとき データ構造を作るとき(BitVector, 木構造など) アルゴリズムに必要な変数やメソッドをまとめるとき などです。クラス(オブジェクト)を作るクセをつけておくと、プログラムの細部を効率的に「忘れる」ことができ、プログラムの大きな流れに集中しやすくなる利点があります。また、道具となるクラスをたくさん用意しておくと、複雑な工程が絡み合ったプログラムでも、短い行数でコーディングできるようになっていきま

    InoHiro
    InoHiro 2010/11/12
  • C++文字列 - C++のstring型について調べるも… (凍結)

    文字列にはC言語の文字列charと、C++で定義されているstringクラスがある。 char型文字列は配列と同じ性質を持つ。文字定数のラベルは文字列のアドレスとなり、関数の引数にはポインタを使用する。 例: #include <stdio.h> #include <string.h> out(char *p){ printf("%s\n",p); } main(){ char *a="JSA"; out(a); } stringクラスを使用する場合は #include <string> を指定する。ラベルはオブジェクトであるからchar型のようにポインタに注意する必要がない。 例1: /* cc -lstdc++ b.cpp */ #include <iostream> #include <string> out(string p){ cout << p << endl; } main(

    InoHiro
    InoHiro 2010/09/17
  • 「プログラミングの魔導書」創刊号レビュー - 星一の日記

    創刊号のテーマは Construct the World, C++ です。まず、レビューを書くという条件でこの雑誌を紹介してくださったくださった深川宏樹さん (id:hiroki_f)、また高橋晶さん (id:faith_and_brave) をはじめとする「C++ 闇の軍団」の皆様に感謝いたします。ありがとうございます。 僕は仕事C++ を使っていますが、 C++ のスキルはたいしたことがありません。スキルをどう表現するかは難しいところですが、 Exceptional C++ を読んで「当たり前じゃん」ではなく「勉強になるなあ」と思える程度の能力です。そして C++ が好きな言語というとそうではなく、どちらかというと嫌いな部類です。C++ の記述の面倒くささやコンパイル時間の長さに辟易して D に逃げてしまったくらいです。しかし C++ には学ぶところがたくさんあります。 C++

    「プログラミングの魔導書」創刊号レビュー - 星一の日記
    InoHiro
    InoHiro 2010/08/20
  • 株式会社ロングゲート - 製品案内

    Information 2013/12/25 書籍『プログラミングの魔導書 Vol.3』の発売 (書籍版の予約受付は終了しました) 2013/12/03 書籍『プログラミングの魔導書 Vol.3』の予約受付開始 2011/12/01 ブログを開始 2011/11/30 著者からの指摘を受け、書籍 『プログラミングの魔導書 Vol.2』PDF版を改訂 2011/11/02 書籍 『プログラミングの魔導書 Vol.2』の壁紙公開 2011/10/05 書籍 『プログラミングの魔導書 Vol.2』を発売 (書籍版の予約受付は終了しました) 2011/9/15 書籍 『プログラミングの魔導書 Vol.2』の予約受付開始 技術トレーニングサービスを開始 2010/8/07 書籍 『プログラミングの魔導書 Vol.1』を販売開始 2010/6/01 書籍情報を公開しました 2010/2/28 今年5月

  • memologue - UNIX上でのC++ソフトウェア設計の定石 (2)

    鉄則2: シグナルハンドラで行ってよい処理を知ろう sigaction関数で登録したシグナルハンドラで行ってよい処理は非常に限定されている 次の3つの処理だけが許されている 自動変数の操作 “volatile sig_atomic_t” 型の大域変数の操作 「非同期シグナルセーフ」関数の呼び出し これ以外の処理を記述しないこと! 説明: シグナル受信時に何らかの処理を行うためには、シグナルハンドラと呼ばれる関数を用意し、それをsigaction関数でシグナル名と紐付けておけばOKです。しかし、シグナルハンドラ内で行ってよい処理は、上記の通り非常に限定されています。これを把握しないまま奔放なコードを書くと次のような現象が起き得ます: 問題1: プログラムがデッドロックする危険がある タイミングに依存する、再現困難なバグの原因となる デッドロックの発生が典型例だが、それ以外にも関数の戻り値不正

    memologue - UNIX上でのC++ソフトウェア設計の定石 (2)
  • C++ における const の重要性と活用 - ニートの世紀

    const なんて知らないよ、という層の人間が一定世の中には存在するようです。 そういった人間の大多数の主張は恐らく「面倒くさい」「嫌い」とかだと思うのですが、const 性に気を配るのは C++ においてはメンバ変数を private にしないといけないことと同程度にやらないといけないことです。という話をします。 const というとまず真っ先に出てくるのは「値が変わらないことでコードが読みやすくなる」とか「参照透明性のため」とかで、参照透明とか言葉がすごく綺麗ですごいって感じだと思います。ボクは参照透明という言葉がすごく好きです。 でも C++ は現実の言語なので現実を見ましょう。そんなのどうだっていいんです。 前提として C++ はそれなりに速い何かを作るための言語である、ソースコードはコメントや何らかの形のドキュメントに勝る、という二点をあげておきます。 例えば巨大なオブジェク

  • Shun Ikejima

  • スマートポインタ

    newでヒープに獲得したオブジェクトは、必要なくなった時に明示的にdelete開放しなければいけない。 開放し忘れた場合、メモリリークが発生する。 明示的なdeleteがプログラマの責任であることはプログラマにとって負担であり、生産性の低下にもつながりかねない。 必要のなくなったオブジェクトを確実に開放するための手段としてスマートポインタがある。 スマートポインタの基 スマートポインタは 開放する必要がある(つまりnewで確保した)オブジェクトを指すポインタ オブジェクトである。 スマートポインタのデストラクタで 対象のオブジェクトを開放するようになっ ているため、スマートポインタ自身が消去されると同時に対象のオブジェクトが 自動的に開放される。 std::auto_ptrを利用した例 #include <iostream> #include <memory> class Test

    InoHiro
    InoHiro 2009/12/29