タグ

C++に関するdynamicsoarのブックマーク (37)

  • Modern C++入門一覧

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    Modern C++入門一覧
  • tdm-gcc

    TDM-GCC 10.3.0 is now available, along with GDB 10.2, binutils 2.36.1, and new versions of the MinGW.org and MinGW-w64 runtime distributions. Thanks for your patience! Keep reading for download links and change notes. I'm proud to present a new series of TDM-GCC binaries based around GCC 9. It's been a long time coming, but getting back into the groove of delivering a Windows-friendly GCC toolchai

    tdm-gcc
  • OpenVDB

    OpenVDB is an Academy Award-winning open-source C++ library comprising a novel hierarchical data structure and a suite of tools for the efficient storage and manipulation of sparse volumetric data discretized on three-dimensional grids. It was developed by DreamWorks Animation for use in volumetric applications typically encountered in feature film production and is now maintained by the Academy S

  • ALGLIB - C++/C#/Java numerical analysis library

    About ALGLIB ALGLIB is a cross-platform numerical analysis and data processing library. It supports five programming languages (C++, C#, Java, Python, Delphi) and several operating systems (Windows and POSIX, including Linux). ALGLIB features include: Data analysis (classification/regression, statistics) Optimization and nonlinear solvers Interpolation and linear/nonlinear least-squares fitting Li

  • 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' を付

  • 計算物理のためのC/C++言語入門

    Last revised on May 25, 2000 UNIX & XWindow 環境における C/C++プログラミング言語の基礎とその計算物理への応用を解説します。 このホームページの古い版の偽ミラーサイトが存在するのでご注意ください。 物のサイトは http://www-cms.phys.s.u-tokyo.ac.jp/~naoki/CIPINTRO/ です。 前書き 推奨図書一覧 C言語とC++言語の基礎文法の初心者向け解説 (プログラム初心者を対象としたC/C++言語の入門です) 第1章 C言語とC++言語の役割 第2章 簡単な計算 第3章 ループで繰り返し計算 第4章 配列で大量データ処理 第5章 関数で計算の分担 第6章 文字列の操作 第7章 ファイルの操作 第8章 グラフィック(XWindow System利用者向け) 高校物理の計算例 (高校生を対象として初歩的な物

    dynamicsoar
    dynamicsoar 2017/02/16
    Sympletic Integratorての知らなかった…
  • C/C++プログラマのための開発ツール - Cybozu Inside Out | サイボウズエンジニアのブログ

    サイボウズ・ラボの光成です。 先日、社内で主にLinux上でC/C++を用いている開発者向けの講義をしました。 「こんなことができる」と知ってもらい、興味を持てば各自で勉強してもらおうと広く浅くツールを紹介しました。 gtags, ASan, Valgrind, addr2line, cppcheck, SystemTap, perfなどです。 興味があれば講義資料「C/C++プログラマのための開発ツール」をごらんください。 コンパイラオプション 受講者には新人やサイボウズ・ラボユースの学生もいたので基的なところから紹介しました。 C/C++コンパイラを使うときはできるだけ警告オプションをつけるのが望ましいです。 警告が出るのは自分のコードの書き方に不備があることが多いからです。 gccやclangでは-Wall -Wextraは基としてそれ以外にも有用なオプションがあります(C++

    C/C++プログラマのための開発ツール - Cybozu Inside Out | サイボウズエンジニアのブログ
  • C++11メモ @ ラムダ式で無名関数やクロージャ - ラーメンは味噌汁

    2013-12-22 C++11メモ @ ラムダ式で無名関数やクロージャ C++11 ラムダ式(Lambda Expressions)とは C++11からラムダ式で無名関数やクロージャが使えるようになりました。アルゴリズムに渡す関数が直観的に書ける、特定の関数内でしか使わない関数が定義できるなどの利点があります。ラムダ式は以下のような形式で書けます。 [キャプチャの指定](引数の指定) -> 戻り値の指定 { // 関数の中身 } 例)int配列の合計を求める 今までのC++では専用の関数オブジェクトを作成する必要があるので少し面倒でした。 // 合計を求める関数オブジェクト struct TotalFunctionObject { int total = 0; void operator () (int value) { this->total += value; } }; // 関数オ

  • Is it safe to delete the "ipch" folder - Precompiled headers?

    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

    Is it safe to delete the "ipch" folder - Precompiled headers?
    dynamicsoar
    dynamicsoar 2015/02/04
    ipch, sdf がデカイ → 消しても大丈夫
  • Visual Studio + Subversionの開発でバージョン管理すべきでないファイル何か - 小さい頃はエラ呼吸

    はじめに Visual Studio(C++)で開発して、Subversionでソースコードのバージョン管理をしているプロジェクトで、Subversionで管理すべきでないファイルについて調べてみました。 Microsoft Visual Studio Professional 2013 DVDposted with amazlet at 14.02.04マイクロソフト (2013-11-29) 売り上げランキング: 298 Amazon.co.jpで詳細を見る Subversionで管理すべきでないファイル Subversionで管理すべきでないファイルは、基的にVisual Studioが吐き出す一時ファイルや環境の情報などを格納したオプションファイルです。 いろいろなサイトで調べてみた結果、以下の拡張子のファイルはバージョン管理対象から外して問題ないと思います。 .opt ローカル

    Visual Studio + Subversionの開発でバージョン管理すべきでないファイル何か - 小さい頃はエラ呼吸
  • VC++ のプリコンパイル済みヘッダ

    VC++ で久しぶりに作業してて,コンパイルの時間に腹が立ったのでプリコンパイル済みヘッダ(pch)を使おうと思ったけど,はまったのでメモ. はじめにプロジェクトの作成のときに「プリコンパイル済みヘッダを使用する」か何かのチェックボックスをチェックしてたなら必要ない知識ですが,いつも私は「空のプロジェクト」テンプレートで作業するのでたいてい自前です.というか pch は滅多使いません. Google コーディング規約には「#include "stdafx.h" はソースに書かずにコンパイラのオプションでインクルードせよ」とあるのでそれにも対応します. まず,ファイルの準備.どこかに, stdafx.h とか stdafx.hxx とか適当な名前で, pch を使うためのヘッダ(以下 pch ヘッダ)を準備する. stdafx.cpp とか stdafx.cxx とか適当な名前で pch を

    VC++ のプリコンパイル済みヘッダ
  • トップページ | Programming Place Plus C++編

    C++編で扱っている C++ は 2003年に登場した C++03 という、とても古いバージョンのものです。C++ はその後、C++11 -> C++14 -> C++17 -> C++20 と更新されており、今後も 3年ごとに更新されます。 なかでも C++11 での更新は非常に大きなものであり、これから C++ の学習を始めるのなら、C++11 よりも古いバージョンを対象にするべきではありません。特に事情がないなら、新しい C++ を学んでください。 当サイトでは、C++14 をベースにした新C++編を作成中です。 ここは、Programming Place Plus の C++編のトップページです。C++ の文法機能や標準ライブラリに関する網羅的な情報を、C++03 ベースで扱っています。 C++編は、C言語の知識があることを前提として書かれています。C言語については、C言語編を参照

    トップページ | Programming Place Plus C++編
  • 猫科研究所 - mainとスレッドの前後処理(1)

    この記事は連続記事の先頭です。次の記事はmainとスレッドの前後処理(2)です。 この記事は早くも古いものとなりました。詳細はMinGW+pthread2010.03?を参照。 C/C++でmainの開始前・終了後に処理をしたいことがある。また、スレッドの開始前・終了後にも処理をしたいことがある。要はプロセス・スレッドの生成・消滅に対するフック処理なのだが、主にMinGW、そしておまけでVisual C++でこれらを行うためのメモ。当然Windows環境がターゲットだが、知識としてGCC全般(というかELF)に関わる部分も扱う。 調査の結果、話が広がりすぎて上手くまとめられる自信がないのだけれど。日語圏ではこれに関する記事が少ないようなので、メモレベルでも頑張って書いてみる。なお、この記事からのリンク先は英語のサイトが殆どなので注意。 調査の動機・経緯 Windows上でPOSIX互換の

    dynamicsoar
    dynamicsoar 2015/01/28
    "グローバルまたはスタティックなインスタンスのために、コンストラクタ・デストラクタはmainの外で呼ばれる"
  • 各言語におけるtrue/falseまとめ - 昼メシ物語

    たとえば PHP で、 if ($hoge) { ... } とか書いてあったら、 $hoge がどんな値のときに if の中身が実行されるのか即答できますか。 こういう書き方は多くの言語で可能ですが、言語によって何が真で何が偽になるのかが異なるので、それぞれまとめてみました。 C言語 C言語には bool 型が無い。 0 (int) だけが偽となり、それ以外はすべて真となる。 NULL 定数は stddef.h で以下のように ((void*)0) と定義されているため、偽値として使える。 意見が分かれそうなところですが、個人的にはNULLを偽値として使用するは好きじゃないです。 #ifndef __cplsuplus #define NULL ((void*)0) #else #define NULL __null #endif C++ C++になると bool 型が出てくる。C と同

    各言語におけるtrue/falseまとめ - 昼メシ物語
  • コールバック (情報工学) - Wikipedia

    この記事には複数の問題があります。改善やノートページでの議論にご協力ください。 出典がまったく示されていないか不十分です。内容に関する文献や情報源が必要です。(2024年2月) 脚注による出典や参考文献の参照が不十分です。脚注を追加してください。(2024年2月) 出典検索?: "コールバック" 情報工学 – ニュース · 書籍 · スカラー · CiNii · J-STAGE · NDL · dlib.jp · ジャパンサーチ · TWL 同期的なコールバック方式では、ある関数の引数として渡されたコールバック関数は、その関数内でのみ使われ、関数が終了した後は使われない。 非同期的なコールバック方式では、最初にコールバック関数を登録し、後で必要になったときに呼び出す。 コールバック(英: callback)とは、コンピュータプログラミングにおいて、あるサブルーチン(関数など)を呼び出す際に

    コールバック (情報工学) - Wikipedia
  • 【C言語/C++】関数ポインタと関数オブジェクトを使ってみる - めめんと

    関数ポインタを使う 関数ポインタはポインタの一種で文字通り関数のポインタの事で、関数を遠隔操作できるようになる文法です。たぶんほとんどの場合関数の引数として使うんじゃないかと思うのでそれだけ紹介します。 #include<stdio.h> int add(int a,int b){ return a+b; } int sub(int a,int b){ return a-b; } //関数ポインタを使っている int calc(int (*func)(int,int),int a,int b){ return func(a,b); } int main(void){ int x = 10; int y = -4; int ans1 = calc(add,x,y); //足し算をしている int ans2 = calc(sub,x,y); //引き算をしている printf("%d,%d\n

    【C言語/C++】関数ポインタと関数オブジェクトを使ってみる - めめんと
  • Effective STL

  • C++マニアック,オペレータのオーバーロード,operator overload,演算子のオーバーロード,演算子

    ()、関数呼び出し演算子、関数オブジェクト 演算子の表へ ページの先頭へ () は、関数呼び出しの演算子です。これをクラス定義の中でオーバーロードすると、クラスオブジェクトの後ろに () を付けて、関数呼び出しの形式で呼び出せるようになります。 まず、定義の仕方を見てみましょう。次の例では、整数の引数 iValue を取り、これを 2 倍にして返す演算子 () を定義しています。 class CManiac { public: int operator()(int iValue) { return 2 * iValue; } }; 次に、これを使う側の例を見てみましょう。 int main() { CManiac maniac; // クラスオブジェクト maniac を作成する。 int iValue = maniac(1); // 関数呼び出し演算子 () を maniac に適用する

  • C++構造体

    構造体って? C 言語で、いくつかの変数をひとまとまりにしたものを構造体といいます。例えば、下のように struct を使って定義します。 typedef struct Item { int code; /* 商品コード */ int name; /* 商品名 */ int price; /* 価格 */ } ITEM, *LPITEM ; 商品コードと商品名と価格を管理する場合、code, name, price の変数をそれそれ作るよりも商品( Item) でひとまとめすることでプログラムがわかりやすくなります。こういったまとまったデータをレコードともいいます。プログラムが小さいと大げさなように感じされますが、複雑になるにまし、struct のありがたみがわかります。 では C++ の構造体はというと、同じように使えます。C++ はCのソースコードをそのままコンパイルできるようになって

    dynamicsoar
    dynamicsoar 2015/01/22
    “struct のアクセス修飾子は public になっています。”
  • C++14 のラムダ式 完全解説 前編 - 野良C++erの雑記帳

    C++14 の Committee Draft が公開された. C++14 は基的には C++11 のマイナーバージョンアップであるが,バグフィックスのみを行っている訳ではなく, C++11 の時点で微妙に使いにくかった機能,特にラムダ式については,大きな機能追加が行われている. そこで, blog では,このエントリから数回に分けて, C++14 のラムダ式について説明してみることにする. 拙い文章になるかとは思うが,読者の理解の助けになれば幸いである. なお,これらの記事を書くにあたって,読者に対して C++11 のラムダ式に対する知識を要求しないように心がけたが, もしかしたら,説明不十分であり,分かりにくい部分があるかもしれない. そのような場合には, の虫: lambda 完全解説 等, C++11 のラムダについて書かれた記事は多いので, それらの記事を読んでみることを

    C++14 のラムダ式 完全解説 前編 - 野良C++erの雑記帳