タグ

c++に関するnilabのブックマーク (204)

  • 【gcc・cygwin】multiple definitionエラーの解決法

    こんにちは。 C言語のプログラミングをしているのですが、 multiple definition of '関数名'と出てしまいます。 ・コンパイルするファイル program1.c(main文) program2.c(関数) program3.c(関数) すべてのソースファイルが、 header.hをincludeしています。 header.hではすべての関数のプロトタイプ宣言がされています。 program2.cに書いてある関数、test()はすべてのソースファイルで使用しています。 ・cygwin上で実行したコマンド gcc -Wall program1.c program2.c program3.c -o test ・エラーの文章 (パス省略)/ccst1v2u.o:program2.c:(.text+0x0): mult iple definition of `_test' (パス

    【gcc・cygwin】multiple definitionエラーの解決法
    nilab
    nilab 2011/03/10
    Makefile に同じ クラス.o 書いちゃうとか。 / 【gcc・cygwin】multiple definitionエラーの解決法 - C&C++ - 教えて!goo
  • Google Code Archive - Long-term storage for Google Code Project Hosting.

    Code Archive Skip to content Google About Google Privacy Terms

    nilab
    nilab 2011/03/03
    google-ctemplate - Project Hosting on Google Code : 「A simple but powerful template language for C++」
  • はてなブログ | 無料ブログを作成しよう

    ビールとポップコーンと映画 ラストマイルを見た。良い映画だった。 映画館でべそべそ泣いて、鼻を啜りながら車で帰った。感想はこのブログでは書かない。みんな映画館に行って感じてみてほしい。 帰ってからツイッターで感想を漁り、うんうん、わかるわかる、そうだよね、とまた映画を思い出して…

    はてなブログ | 無料ブログを作成しよう
    nilab
    nilab 2011/02/28
    2D Vector Graphics Rasterizer まとめ - NearestNeighbor
  • Google Sites: Sign-in

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

    nilab
    nilab 2011/01/19
    cpprefjp : 「C++ Referenceが便利だったので、それの日本語版 + C++0x対応したサイトがほしい、というのが動機です」
  • C++かきくけことは コンピュータの人気・最新記事を集めました - はてな

    C++かきくけこの全容 頭文字 解説 「か」 かなり難しく 「き」 汚いコードになりがちで 「く」 糞のような文法を持ち 「け」 経験年数がアテにならず 「こ」 const便利です。

    C++かきくけことは コンピュータの人気・最新記事を集めました - はてな
    nilab
    nilab 2011/01/18
    しーぷらぷらかきくけこ。「か」かなり難しく、「き」汚いコードになりがちで、「く」糞のような文法を持ち、「け」経験年数がアテにならず、「こ」const便利です。 / C++かきくけことは - はてなキーワード
  • C++0xの言語拡張まとめ(※随時更新) - Faith and Brave - C++で遊ぼう

    C++0xの概要はこちら ・Angle bracket テンプレートの連続した山カッコの問題の解決 ・初期化子リスト ユーザー定義のクラスで配列のような初期化構文を実装可能になる ・Uniform initialization コンストラクタの構文と初期化子リストの構文が一様になる ・デリゲーティング・コンストラクタ コンストラクタから他のコンストラクタを呼び出せる ・auto 型推論 ・記憶クラス指定子としての auto の削除 autoキーワードの意味が変更になるため、下位互換がなくなる ・decltype sizeofの型版 ・Template Aliases テンプレートを使用して型の別名を付けることができる。いわゆるtemplate typedef ・拡張sizeof 構造体/クラスのメンバをインスタンス化せずにsizeofすることが可能になる ・nullptr ヌルポインタを表

    C++0xの言語拡張まとめ(※随時更新) - Faith and Brave - C++で遊ぼう
    nilab
    nilab 2011/01/07
    C++0xの言語拡張まとめ(※随時更新) - Faith and Brave - C++で遊ぼう
  • C++11 - Wikipedia

    この記事は更新が必要とされています。 この記事には古い情報が掲載されています。編集の際に新しい情報を記事に反映させてください。反映後、このタグは除去してください。(2019年1月) C++11は、プログラミング言語 C++ のISO標準 ISO/IEC 14882:2011 の略称である。規格の策定中は2009年中の標準化を目指していたため、C++0x という仮称で呼ばれていた。 ISO/IEC 14882:2003 (C++03) に代わるものとして、2011年8月12日にISOによって承認された[4]。後継のC++14が2014年8月18日に承認されている。 コア言語への機能追加や標準C++ライブラリの拡張を施し、C++TR1ライブラリの大部分を(数学的特殊関数ライブラリを除いて)取り込んでいる。 C++ への修正はコア言語と標準ライブラリの双方に及ぶ。 委員会は、新規格の個別の要素の

    nilab
    nilab 2011/01/07
    「C++0x (シープラスプラス・ゼロエックス)は、プログラミング言語 C++ の次期標準として、2010年代発行に向け策定中の改訂案を指す仮の通称である」C++0x - Wikipedia
  • 株式会社ロングゲート - 製品案内

    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月

    nilab
    nilab 2011/01/07
    株式会社ロングゲート - 製品案内 : プログラミングの魔導書 〜Programmers' Grimoire〜 Vol.1 「Construct the World, C++」『ユーザーの力によって際限なく進化するプログラミング言語C++。2010年のいま、C++はどこにいるのか』
  • 練習がてらC++でHMMのコードを書いた - yasuhisa's blog

    いわゆるお勉強的なコードなので特に新しいところはないです。 HMMをベースにしたモデルを作る必要が(たぶん)出てきそうなんですが、そういえばHMMの前向き後ろ向きアルゴリズムの付近とか実装したことねぇやべぇと思ったので書いてみました*1。系列の長さが100超える付近からまじめにやらないとアンダーフローで死んだりしたので、Scalingの付近はちゃんとやりました。が、i.i.d.な系列が複数あるバージョンでの推定や、テストデータが未知語を含む場合などは(不真面目なので)端折ってます。まあ、それでも遊べるし...。コードはgithubに上げました。 github.com 対数尤度が単調増加してる感じだったので、こんなんでとりあえずいいかーと思ったものの、去年unsupervisedなpos taggingを機能語と内容語を考慮してモデル化する話の論文とか読んでみて、教師なしのpos taggi

    練習がてらC++でHMMのコードを書いた - yasuhisa's blog
    nilab
    nilab 2011/01/04
    練習がてらC でHMMのコードを書いた - Seeking for my unique color. : Hidden Markov Model 隠れマルコフモデル
  • PHPをC++に変換して高速化する「HipHop for PHP」をFacebookが公開 : candycane development blog

    アメリカ時間の昼ごろにTwitter上が一つのニュースで埋め尽くされました。 PHPC++に変換して高速化する技術をFacebookが公開したというものです。世界中のPHPハッカーが注目する興味深いリリースという事でちょっと長いですが、リリースノートの和訳を行いました。 原文 http://developers.facebook.com/news.php?blog=1&story=358 Facebookにおいて重要なことのひとつが動作の速さです。過去6年間にわたって、PHPが提供する高速な開発ペースによって多くを成し遂げてきました。プログラミング言語としてみると、PHPはシンプルです。簡単に習得し、簡単に書き、簡単に読み、簡単にデバッグする事ができます。我々は他の言語よりも早くエンジニアを獲得し、それによってより早いイノベーションをすることができます。 今日、私は2年に渡って作業して

    nilab
    nilab 2010/12/17
    PHPをC++に変換して高速化する「HipHop for PHP」をFacebookが公開 : candycane development blog
  • Eclipse C/C++ Development Tooling - CDT

    The Eclipse CDT™ Project provides a fully functional C and C++ Integrated Development Environment based on the Eclipse platform. Features include: support for project creation and managed build for various toolchains, standard make build, source navigation, various source knowledge tools, such as type hierarchy, call graph, include browser, macro definition browser, code editor with syntax highlig

    Eclipse C/C++ Development Tooling - CDT
    nilab
    nilab 2010/12/15
    Eclipse CDT (C/C++ Development Tooling)
  • re2 - Project Hosting on Google Code

    This is the source code repository for RE2, a regular expression library. For documentation about how to install and use RE2, visit https://github.com/google/re2/. The short version is: make make test make install make testinstall Building RE2 requires Abseil (https://github.com/abseil/abseil-cpp) to be installed on your system. Building the testing for RE2 requires GoogleTest (https://github.com/

    re2 - Project Hosting on Google Code
    nilab
    nilab 2010/12/14
    re2 - Project Hosting on Google Code : an efficient, principled regular expression library : RE2 is a fast, safe, thread-friendly alternative to backtracking regular expression engines like those used in PCRE, Perl, and Python. It is a C++ library.
  • CMake - Upgrade Your Software Build System

    CMake is the de-facto standard for building C++ code, with over 2 million downloads a month. It’s a powerful, comprehensive solution for managing the software build process. Get everything you need to successfully leverage CMake by visiting our resources section. Getting Started Documentation

    nilab
    nilab 2010/12/13
    CMake - Cross Platform Make
  • 頻度計数における unordered_map の調整(C++) - やた@はてな日記

    形態素の頻度をカウントするというシンプルなタスクで std::tr1::unordered_map の性能について実験してみました.std::string より const char * の方がメモリを節約できるというような軽い内容です. 実験概要 実験環境は以下のとおりです. 実験環境 CPU:Core 2 Duo U9600 1.60GHz コンパイラ:gcc version 4.4.3 (Ubuntu 4.4.3-4ubuntu5) 入力として使用したのは,ウェブコーパスから抽出した形態素を改行区切りで保存したファイルです. 入力 サイズ:815,793,701 bytes 形態素数:133,940,786 異なり数:516,612 形態素の入力については,std::ios::sync_with_stdio(false) を呼び出した後で std::getline() を使うようにし

    頻度計数における unordered_map の調整(C++) - やた@はてな日記
    nilab
    nilab 2010/11/29
    「std::string から自作のクラスに移行することでメモリを節約できます.簡単な機能のみを実装するのであれば 100 行くらいなので,それほど手間はかかりません」頻度計数における unordered_map の調整(C++)
  • Googleの並列ログ解析向け言語「Sawzall」が公開されたので使ってみた | Preferred Research Blog

    Rapidly Realizing Practical Applications of Cutting-edge Technologies

    Googleの並列ログ解析向け言語「Sawzall」が公開されたので使ってみた | Preferred Research Blog
    nilab
    nilab 2010/11/09
    Preferred Research Blog » Blog Archive » C++の行列ライブラリ Eigenの紹介
  • EASTL から垣間見るゲームソフトウェア開発現場の現状 その 1

    (2016/02/10 追記: EASTL は長らく EAWebKit の一部としてライセンスが不明瞭なまま公開されていましたが、この日 BSD ライセンスで正式に公開されました https://github.com/electronicarts/EASTL) 若干古いものですが、2007 年に発表された、Electronic Arts によるゲーム開発向けの改良を加えた STL、"EASTL" の仕様。 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2271.html 仕様だけで実装が公開されてないのが非常に残念なのですが、それは別として、何故こんなものが必要なのか、どういう事情でこの機能が盛り込まれたのか、といったゲーム開発現場の事情が細かく解説されていて、とても参考になります。特に、既にある程度 C++ に習熟してい

    EASTL から垣間見るゲームソフトウェア開発現場の現状 その 1
    nilab
    nilab 2010/10/20
    EASTL から垣間見るゲームソフトウェア開発現場の現状 その 1 - 2010-10-12 - primitive: blog : 「Electronic Arts によるゲーム開発向けの改良を加えた STL、"EASTL" の仕様」
  • 配列のポインタ渡しと参照渡しの違い - (void*)Pないと

    ポインタ渡しとは以下のような処理です。 #include <iostream> using std::cout; using std::endl; // ポインタ渡し void func(int *a) { cout << a[0] << endl; } int main () { int a[] = {3,4,5,6}; func(a); } また、以下のようにも書くことができます。 void func(int a[]) { cout << a[0] << endl; } 関数の仮引数におけるint a[]はint *aのシンタックスシュガーなのでまったくの同義なのです。 またこのとき要素数の指定も出来ますが、*aのシンタックスシュガーなので無視されます。 #include <iostream> using std::cout; using std::endl; // int *aのシン

    配列のポインタ渡しと参照渡しの違い - (void*)Pないと
    nilab
    nilab 2010/10/14
    「参照渡しの場合は要素数の指定まで正確にしないとコンパイルエラーになります」 配列のポインタ渡しと参照渡しの違い - (void*)Pないと
  • サービス終了のお知らせ

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

    nilab
    nilab 2010/10/13
    template <class T> なんて書いたのはじめてな気がする。 / C++編(言語解説) 第27章 テンプレートクラス
  • C++で2次元アフィン変換クラスを作る - white wheelsのメモ

    2次元座標においてある点を別の点に移す変換のなかで、下の基変換の合成変換として表現できるものをアフィン変換と呼びます。 例えば、(1,2)だけ平行移動させて、原点を中心に30°回転させる変換は、と表すことができます。 平行移動(x: ,y: ) 拡大縮小 回転 スキュー変換 JavaではAffineTransformクラスが用意されていて、いくつかの変換を簡単に合成することができます。このAffineTransformクラスにならって、C++で同じようなクラスの簡易版を作ってみたいと思います。アフィン変換を表す行列には、以前作成したクラスを利用します。→C++で作る行列クラス その1 - white wheelsのメモ 利用例 AffineTransform2D Tr; Tr.translate(1,2); Tr.rotate(30); Tr.scale(2,3); Tr.print()

    C++で2次元アフィン変換クラスを作る - white wheelsのメモ
    nilab
    nilab 2010/09/14
    c++で2次元アフィン変換クラスを作る - white wheelsのメモ
  • The "Double-Checked Locking is Broken" Declaration

    The "Double-Checked Locking is Broken" Declaration Signed by: David Bacon (IBM Research) Joshua Bloch (Javasoft), Jeff Bogda, Cliff Click (Hotspot JVM project), Paul Haahr, Doug Lea, Tom May, Jan-Willem Maessen, Jeremy Manson, John D. Mitchell (jGuru) Kelvin Nilsen, Bill Pugh, Emin Gun Sirer Double-Checked Locking is widely cited and used as an efficient method for implementing lazy initialization

    nilab
    nilab 2010/08/30
    The "Double-Checked Locking is Broken" Declaration