タグ

ProgrammingとC++に関するkyouzontのブックマーク (11)

  • いやなブログ: 配列操作の比較表: Ruby, Python, JavaScript, Perl, C++

    配列操作の比較表: Ruby, Python, JavaScript, Perl, C++ プログラムを書いていると、他のプログラミング言語の記憶とごっちゃになって、「配列の後ろに要素を追加するのは push だっけ、 append だっけ」などと混乱することがあります。特に Ruby, Python, JavaScript はコードの書き方が似ているので、この問題が起きがちです。 そこで、備忘録として、 Ruby, Python, JavaScript, Perl, C++ の配列操作の比較表を作りました。一番慣れている Ruby を基準にしています。間違いなどがあったらご指摘いただけると助かります。他の言語のもあるといいなあ。 Ruby (Array) Python (list) JavaScript (Array) Perl (@) C++ (std::vector)

  • Boost.Asioまとめ(1)::io_service - yutopp's blog

    Boost Advent Calndar 2011に恐縮ですが参加させて頂きました。15日目です。 最初はBoost.Asioについてまとめるぞーと意気込んでいたものの変に長くなってしまったのでBoost.Asioの中のio_serviceに絞ったためこんなタイトルに成り申した。 Boost.Asioとは 主にネットワークのI/Oのような時間のかかってしまう処理を非同期的かつ簡潔に扱えるようにした便利なライブラリです。 ネットワークを中心に、シリアルポート、タイマー、シグナルのハンドリングなども扱えます。 と、いうわけでio_serviceです。 Windows環境にてVC++10、Boost1.48.0を用いています。 io_service 全てはこのクラスに始まり、このクラスに終わります。 各OSの提供するI/O制御への橋渡しをしてくれるもので、Asioの提供するIOサービス(dead

    Boost.Asioまとめ(1)::io_service - yutopp's blog
  • [C++]楽々TCPサーバ

    塵も積もれば山 目次 ホーム 連絡をする RSS Login Blog 利用状況 投稿数 - 216 記事 - 0 コメント - 7622 トラックバック - 60 ニュース C++とかC#とか数学ネタを投下していく予定です。 [その他のページ] 日々の四方山話を綴った日記出水の日記帳 書庫 2011年12月 (2) 2011年8月 (1) 2011年7月 (1) 2011年1月 (2) 2010年12月 (2) 2010年11月 (2) 2010年10月 (5) 2010年8月 (1) 2010年7月 (1) 2010年5月 (1) 2010年4月 (2) 2010年2月 (8) 2010年1月 (2) 2009年12月 (2) 2009年10月 (5) 2009年9月 (3) 2009年8月 (3) 2009年7月 (5) 2009年6月 (12) 2009年5月 (6) 2009年4

  • 参照とポインタ

    この文章はプログラマでもプログラミング言語の専門家でもないただのプログラミング好きの私が適当に書きつづったものです。よってこの文章には正しい箇所もあるでしょうが、間違っている箇所もかなりあるはずです。ご指摘いただけたらと思います。また、この文章を読んでも内容を鵜呑みにしないでください。鵜呑みにした結果何か起きても知りません。 "諸悪の根元"-ポインタ Cの特徴の1つとして、また初心者が必ずつまずく(*)とされる難所としてポインタがあげられるわけだが、ポインタはどうも最新流行のプログラミング手法の中では諸悪の根元として忌み嫌われているようだ。 (*) 自慢するわけではないのだが、私は別にポインタでつまずいた記憶はない。もちろん、効果的な使い方などはその後いろいろなコードを読んでいく中で身に付いていったわけだが。 ポインタは確かに諸刃の剣である。非常に便利な反面、危険でもある。例えば次のような

    kyouzont
    kyouzont 2012/04/22
    参照とポインタの使い分けについて。一つの参考として。
  • テンプレートの中でほかのテンプレートクラスのメンバ型を使う方法: typename や template の別の用法について - akihiko’s tech note

    あるテンプレート関数(テンプレート型引数 T)で,例えば std::vector::iterator itr を定義しようとすると,コンパイルエラーとなる(std::vector::iterator が型であると認識されない).この場合 typename std::vector::iterator itr のように,前に typename をつけて,型であることを明示する.もし,iterator に相当するものが,テンプレートクラスの場合,template キーワードを使ってテンプレートであることを明示しなければならない. 例えば, template <typename T1> struct TTest { struct TIn { double X; }; }; こんな構造体があったとして, template <typename T1> void Func (void) { TTest<

    テンプレートの中でほかのテンプレートクラスのメンバ型を使う方法: typename や template の別の用法について - akihiko’s tech note
    kyouzont
    kyouzont 2011/11/04
    表題の通り。ハマッた。
  • 逆引きリファレンス - boostjp

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

  • Let's Boost

    Boost C++ Libraries の紹介サイトです。 :: by Google はじめに ご挨拶 Boost のインストール方法 参考リンク集 ニュース ◆ Version 1.42.0 と 1.41.0 対応 (2010/03/14) 新規ライブラリに関する Let's Boost のページ…: property_tree (汎用木構造型コンフィグ管理) / uuid (ユニークID生成器) ◆ RSS つけました (2009/08/28) ◆ Version 1.40.0 と 1.39.0 対応 (2009/08/28) 新規ライブラリに関する Let's Boost のページ…: Signals2 (Signal/Slotライブラリ改良版) ◆ Version 1.38.0 と 1.37.0 対応 (2009/02/22) 新規ライブラリに関する Let's Boost のペー

    kyouzont
    kyouzont 2011/10/23
     Boost C++ Librariesの著者のサイト
  • Boost C++ライブラリのインストール(for VisualStudio2005) - MyWay

    Boostライブラリのインストールメモ(for Visual Studio 2005)。 1. Boost Consultingから最新版(BoostPro 1.34.1 Installer)をインストール 2. Visual Studio 2005にパスを追加 「ツール」>「オプション」>「プロジェクトおよびソリューション」>「VC++ディレクトリ」に以下を追加 2-1. 「インクルードファイル」 Boostのパス(C:\Program Files\boost\boost_1_34_1)を追加 2-2. 「ライブラリファイル」 Boostのライブラリパス(C:\Program Files\boost\boost_1_34_1\lib)を追加 3. サンプルコード(Build a Simple Program Using Boost)で動作確認 BoostはSTLに続く次世代のC++標準ラ

    Boost C++ライブラリのインストール(for VisualStudio2005) - MyWay
    kyouzont
    kyouzont 2011/10/23
    memo:本記事の方法でBoostをインストールする最中、1度エラーが発生し、インストールに失敗した。しかし、再度同手順でインストールを実行してみたところうまくいった。パッケージ取得先のミラーサイトが原因?
  • C++, boost::thread : スレッドの同期と排他制御 – mutex、conditionクラス

    複数のスレッドから1つの変数にアクセスする際、システム側のスレッドスケジューリング次第で、予期せぬ書き換えが起こってしまう場合があります。その為、ある1つのスレッドが変数にアクセスしている際は他のスレッドをブロックする排他制御やスレッドの同期を行う必要があります。C++Javaのsynchronizedメソッド/ブロックと同じような記法でクリティカルセクションを実装する方法の1つにboost::threadライブラリのmutexとconditionクラスがあります。 mutex クラスの使い方 スレッドの排他制御を実現できます。具体的な使い方は、mutexインスタンスをmutex::scoped_lockクラスのコンストラクタの引数に指定し、そのインスタンスを取得することでロックをかけられます。あるスレッドが上の処理を以ってmutexインスタンスにロックをかけた場合、その他のスレッドは再

    C++, boost::thread : スレッドの同期と排他制御 – mutex、conditionクラス
  • 株式会社エス・スリー・フォー » 正規表現ライブラリ ‘Boost Regex++’ の使い方

    正規表現ライブラリ ‘Boost Regex++’ の使い方 ‘webを介したプログラムの実行’というアプリケーションの新しい形態が現れ、perl,pythonなどに代表されるスクリプト言語がよく利用されるようになりました。スクリプト言語の多くはテキストすなわち文字列を扱うのを得意としています。 一方C++は文字列を扱うのがあまり得意ではありません。 最近になってようやく文字列を表現するクラスstd::basic_string が標準ライブラリに組み入れられました。 これによって文字列操作を頻繁に行い、かつ移植性の高いアプリケーションの実装がとてもやりやすくなりました。 しかしながら標準の文字列を手に入れたC++でもperlなどのスクリプト言語にかなわないことの一つが’正規表現(regular expression)’です。 たとえばWebの自動巡回を行うアプリケーションを考えてみましょう

  • https://edunlp.hatenadiary.com/entry/20110702/1309621088

  • 1