タグ

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

  • C++エンジニア採用問題 - シンガポールの場合

    H.Torii @torii_h C++エンジニア採用面接最終回。設問を用意して知識と頭の回転を調べてゆく。問1:悲観的排他制御と楽観的排他制御の違いを、実装した経験から述べよ。ここでOracleMySQL歴史や、哲学者の事問題あたりが出てきて欲しいところ。でも両者の得失がわかってれば合格。 H.Torii @torii_h 問2:リスト逆転問題。int a[100]の各要素の前後関係を逆転せよ。性懲りもなく同じ出題をしてみた(^_^;) 何秒で解けるかで頭の回転がわかる。ついでにビッグオー表記をわかってるか試せるし。for/while版、再帰版、STL版の3通りがスラスラ出てくれば申し分ないのだが。 H.Torii @torii_h 問3:デザインパターンについて。知ってるのを手短かに解説せよ。SingletonやFactoryを知らない、使ったことがない、なんてわかれば即退席して

    C++エンジニア採用問題 - シンガポールの場合
  • C++入門

    C++入門 基礎知識は仮定しません あなたは 人目のお客さんです。 ゆっくりしていってください。 C++入門1   プログラミングの基礎知識 C++入門2   coutを使った出力 C++入門3   cinを使った入力 C++入門4   オブジェクト指向について C++入門5   クラスを作ろう C++入門6   クラスを作ろう(補足) C++入門7   クラスの練習 C++入門8   コンストラクタの引数 C++入門9   クラス間の関係 C++入門10  乱数 C++入門11  while文とfor文 C++入門12  値を戻す関数 C++入門13  値を戻す関数の例 C++入門14  パブリックとプライベート C++入門15  継承 C++入門16  継承の練習 C++入門17  さらに継承 C++入門18  デストラクタ C++入門19  配列 C++入門20  ポインタ C++

  • モダンな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++の開発環境の構築方法 - 考える人、コードを書く人
  • 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++の話(本当にあった怖い話)
  • アナログ時計

    コンパイラは「Borland C++ Compiler 5.5」を用います。 グラフィック・ライブラリには「GLIBW32 ver1.33」を用います。ライブラリを使うための環境設定は、リンクのページをご参照ください。 下記のサンプルプログラムを例に、プログラムを作成します。このとき、プログラムの拡張子は、「cpp」にしてください。グラフィック・ライブラリ GLIBW32 を使用するには、拡張子が cpp の C++ のファイルとして保存する必要があります。 背景画像が必要な場合には下の「clock.bmp」をお使いください。このビットマップファイルはソースファイルと同じフォルダに保存してください。 なお、このサンプルプログラムはスペースキーを押下すると終了します。 2.サンプルプログラム #include <math.h> #include <time.h> #include "glib

  • 目指せプログラマー!

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

  • サイン波の合成 « 横江宗太

    音響合成部分を作成するにあたり、サイン波を合成する実験を行った。 Audio Queue ServicesとAudioUnit iPhone上では音響合成を行うための仕組みとして、Audio Queue ServicesとAudioUnit(+OpenAL)の二つのフレームワーク/サービスが使用できる。 いずれもiPhoneだけでなくMac上でも使用できるフレームワーク/サービスであるが、AudioUnitに関してはiPhone版では搭載されているプラグインが大きく限定されている。 また、シミュレータ上での動作と実機での動作が異なることや、サンプリング周波数を変更できないことなどから、現状ではiPhone上でAudioUnitを利用するメリットは大きくないだろう。 ただし、今後のバージョンアップで使用可能なプラグインが増える可能性があり、その場合高度な音響合成を実現するためには大き

  • 文法からはじめるプログラミング言語Microsoft Visual C++入門 − @IT

    書籍転載 文法からはじめるプログラミング言語 Microsoft Visual C++入門 WINGSプロジェクト 矢吹 太朗(監修 山田 祥寛) コーナーは、日経BPソフトプレス発行の書籍『文法からはじめるプログラミング言語Microsoft Visual C++入門』の中から、特にInsider.NET読者に有用だと考えられる章や個所をInsider.NET編集部が選び、同社の許可を得て転載したものです。 『文法からはじめるプログラミング言語Microsoft Visual C++入門』の詳細は日経BPソフトプレスのサイトをご覧ください。 書の使い方 第1章 プログラミングの基礎~プログラミングの世界に触れる 1.1 プログラムとは 1.2 .NET Framework 1.3 ソフトウェア開発 第2章 C++の基礎~やさしい入門 2.1 C 言語、C++C++/CLI 2.2 

  • C++のクラスをマスターしよう(前編)(1/5) - @IT

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

  • 並列メッセージングフレームワーク「MessagePack-RPC for C++」リリース - Blog by Sadayuki Furuhashi

    分散KVS kumofs のコードは、全体で約2万行です。 そのうち、ネットワークI/Oやプロトコルに関するコードは約1万行で、全体の約半分を占めています。 並列イベント駆動I/Oフレームワーク「mpio」リリース ネットワークアプリケーションを実装する上で、もっとも大きな障壁は、ネットワークI/Oとプロトコルです。 では、それが両方ともフレームワークでサポートされ、コードを書く必要が無くなったらどうでしょうか? 54行で簡単な分散KVSを実装したり、140行で分散リアルタイム検索エンジンを実装することができます。すなわち、インデックス作成サーバ、検索サーバ、DBサーバなど、多数のサーバが連携し、スケールアウトの恩恵を得ることができるネットワークアプリケーションを、1台のホスト上で動作する並列アプリケーションとほぼ同じように書くことができます。 実装上の問題から解放されれば、並列性や耐障害

    並列メッセージングフレームワーク「MessagePack-RPC for C++」リリース - Blog by Sadayuki Furuhashi
  • 使いながら覚えるGDB

    はじめに プログラムのデバッグと言えばひたすらprintfを挿入しまくっていたある日、 デバッガなる便利な代物があるということを知った。なんでもプログラムを一行 ずつ実行できて、変数の値をその場で確認できるらしい。これは是非使ってみねばと 思い、UNIX環境で使えるGDBというデバッガを試してみた。が、何がなんだかさっぱり 分からない。Webを検索するとマニュアルの日語訳が見つかった。これで勉強すれば 使えるようになるかも、と読み始めるも、いきなりm4がどうのこうのだの、意味不明 の文章が続く…。 これは私がGDBを使い始めた時の話だが、似たような経験を持っている人が他にもいる と思う。 GDBのマニュアルは初心者にはすこし敷居が高い。 GDBに限らずマニュアルというものは初学者が参考書として用いるのには 適していない。というのも、マニュアルの類は情報量が多い分、重要な部分を 見つけ出す

  • gcc のデバッグ術

    Unix系コマンドラインユーザーのための、 gcc/g++/g77 による開発におけるデバッグ術を簡単に紹介します。 以下の内容は gcc 2.7.2.3 での動作は確認しています。 g++/g77 でも恐らくは通用すると思うのですが、 ひょっとすると異なる部分があるかもしれません。 筆者は g++/g77 の使用経験がないので、その場合は御容赦を願います。 実行前 キーワード「コンパイルオプション, -Wall, -O2, -O4」 まずは gcc にオプション opt'-Wall' を付けてコンパイルし、 警告がなくなるまでソースを修正します。 これは 常識 です。 次に opt'-O4 -Wall' でコンパイルします。 「未初期化変数の使用」の警告 (`foo' might be used uninitialized in this function) は、 opt'-O4' を付

  • TopCoderから学ぶ美しいマクロや型宣言 C++ - peroon's diary

    TopCoderというプログラミングコンテストで 他人のコードから発見した、美しいマクロや 型宣言を紹介します。 これを導入することで、C++のコードが短くなり、 早くコーディングすることができます。 ※すべてのTopCoder参加者がマクロなどをテンプレートと して用意しているわけではありません。 マクロなどを定義している人は半分より少ないようです。 TopCoderの他人のコードを参考に、 マクロやtypedefによる型宣言をまとめました。 コードの全体はこのようになっています。 (あとで個別にコメントします) //include //------------------------------------------ #include <vector> #include <list> #include <map> #include <set> #include <deque> #in

    TopCoderから学ぶ美しいマクロや型宣言 C++ - peroon's diary
  • C++0x基礎文法最速マスター - Faith and Brave - C++で遊ぼう

    C++0xになると、C++03でごちゃごちゃした部分がだいぶ すっきり書けるようになるので、C++0xでの入門はこんな感じになるよー、 という気持ちで書きました。 1. Hello World C++0xでの入出力には、IOStreamというものを使用します。 <<演算子でどんどんつないでいきます。 以下のプログラムの読み方は 「標準出力(cout)に"Hello World"という文字列と、改行(endl)を出力する」 です。 #include <iostream> int main() { std::cout << "Hello World" << std::endl; return 0; } Hello World coutとendlを使用するには、 #include <iostream> のように、という標準ライブラリのファイルを読み込む必要があります。 2. コメント 行コメント

    C++0x基礎文法最速マスター - Faith and Brave - C++で遊ぼう
  • BPStudy と並カンと LRU - kazuhoのメモ置き場

    金曜の BPStudy で「TDD なペアプロで 30 分で課題を解きましょう」っていうイベントがあって、初対面の方 (@uranojpさん) と「C 言語にしますかね」とか言ってたら、お題が LRU で、C 言語だと辛いなと思いながら、二人でがんばってなんとか時間内に実装完了 (成果物は bpstudy で出会い系ペアプロがまさかの LRU だったという話 · GitHub)。 ネタとしては「C 言語で書くことになったので、まずテストフレームワークを作りました」というところでウケを取れたから良かったとして、課題を解くためが目的の無難な実装になっていることが不満と言えば不満だった。特に k.inaba さんの shinhさんにもらった宿題ですが、やっぱりシングルリンクで十分ですね。 d.y.d. ていうのが記憶の片隅に残っていたので。で、今日、並カンで↑のお題を出した id:shinh さ

    BPStudy と並カンと LRU - kazuhoのメモ置き場
  • 次期C++に導入されるメモリバリアについて解説してみる - yamasaのネタ帳

    前のエントリで次期C++標準(通称C++0x)にatomic型とメモリバリアが導入されるという話をしました。今回はそのC++での実装について、もう少し深く追いかけてみます。 スライド資料では「atomic操作 + acquire/releaseバリア」が基であると書きましたが、実際に次期C++に導入される予定のatomic APIは、もう少し複雑な仕様になっています。一番の違いは、メモリバリアの種類が増えていることです。 次期C++標準の現在のドラフトでは、メモリバリアの種類を表すenum型の定義は以下のようになっています。 namespace std { typedef enum memory_order { memory_order_relaxed, memory_order_consume, memory_order_acquire, memory_order_release, m

    次期C++に導入されるメモリバリアについて解説してみる - yamasaのネタ帳
  • 1