タグ

programmingに関するdynamicsoarのブックマーク (184)

  • 本の虫: lambda 完全解説

    目的 この記事は、C++0xのlambdaを完全に解説せんとする目的を以て書かれた。サンプルコードは最小に留め、エラー処理等は省いた。この記事さえ読めば、今日からlambdaを恐れることなく使う物のC++0xプログラマになれるだろう。 lambdaとは何ぞや lambdaである。あるものは、lambda関数、あるいは無名関数という名称を使っている。いったいlambdaとは何なのか。 lambdaは関数である。また、特に名前はない。したがって、lambda関数、無名関数と呼ぶのは、間違ってはいない。しかしここでは、単にlambdaと呼ぶことにする。 lambdaを定義しよう lambdaは関数オブジェクトである。lambdaは関数オブジェクトである。これはとても大事なので二度書いた。lambdaは関数オブジェクト以外の何物でもない。ところが不思議なことに、皆lambdaが単なる関数オブジェ

  • C++11: Syntax and Feature

    C++11の文法と機能(C++11: Syntax and Feature) Copyright (C) 2013 江添亮. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled "GN

  • C++踏み込み編

    ホーム < ゲームつくろー! < C++踏み込み編 C++踏み込み編 基礎はやっぱり大切です。 曖昧・うろ覚えはありませんか? 「これって何だろう」と疑問に思っている事、ありません? ここでは、それらについて踏み込んで解説してみます。 思いつきと行き当たりばったりの更新になるでしょうが、 きっと役立つ備忘録です。

    dynamicsoar
    dynamicsoar 2015/01/15
    痒いところに手が届いてる(気がする)
  • C++ AMP Overview

    Note C++ AMP headers are deprecated starting with Visual Studio 2022 version 17.0. Including any AMP headers will generate build errors. Define _SILENCE_AMP_DEPRECATION_WARNINGS before including any AMP headers to silence the warnings. C++ Accelerated Massive Parallelism (C++ AMP) accelerates execution of C++ code by taking advantage of data-parallel hardware such as a graphics processing unit (GP

    C++ AMP Overview
  • _T("")マクロだのL""マクロだのLPCTSTRだのの世界一詳しい解説

    _T("")マクロについて 初心者の方へ 下の説明を読むのが面倒なら次のように設定を変更すれば わずらわしい思いはしなくてもよくなります。 また、下の設定をすればLPCTSTRとか訳の分からないものはconst char *と同じ意味になり、 自分でコードを書く時にも_T("") などと書く必要もなくなります。 VisualStudio2005での設定例(2003や2008でもほとんど同じです): プロジェクト名で右クリックしてプロパティを選択 (ここでは太文字でcppTestと書いてあるやつ) 左側のツリーで構成プロパティ→全般を選択するとこのようなものが出てくる。 デフォルトでは文字セットのところが『Unicode 文字セットを使用する』となっているはず。 これを『マルチバイト文字セットを使用する』に変更してOKを押すと設定完了。 上級者向けの説明 おそらくVisual Studio2

  • What is the difference between _tmain() and main() in C++?

    _tmain does not exist in C++. main does. _tmain is a Microsoft extension. main is, according to the C++ standard, the program's entry point. It has one of these two signatures: int main(); int main(int argc, char* argv[]); Microsoft has added a wmain which replaces the second signature with this: int wmain(int argc, wchar_t* argv[]); And then, to make it easier to switch between Unicode (UTF-16) a

    What is the difference between _tmain() and main() in C++?
    dynamicsoar
    dynamicsoar 2015/01/14
    VC++ の int _tmain(int argc, _TCHAR* argv[]) とはなんなのかという解説
  • 初級者向けVisualStudio便利機能集Vol.1 - Qiita

    次回:初級者向けVisualStudio便利機能集Vol.2 VisualStudioはかなり多機能なIDEですが、意外とあるようで見当たらないのがその各機能、特に便利なものをまとめた記事です。 というわけで私の知る範囲内での便利機能を挙げていこうと思います。必須レベルのものも多いですが。 基準のバージョンはVisualStudio 2013 ProfessionalですがExpress Editionでもほぼ変わらず使えるはずです。 ちなみにショートカットキーは[ツール]→[オプション]→[環境]→[キーボード]から設定可能です。 つかいづらいですが。 基 文字の検索/置換 Ctrl+F : 文字の検索 Ctrl+H : 文字の置換 ※[編集]→[検索と置換]→[クイック検索]でも可 検索/置換の対象を指定できるため、「選択した部分だけで置換」のようなことを行えるので便利です。 これに

    初級者向けVisualStudio便利機能集Vol.1 - Qiita
    dynamicsoar
    dynamicsoar 2015/01/08
    トグルコメント(Notepad++でのCtrl+q)できないってマジなのかな…信じがたいんだが
  • その14 ドキドキしないプリコンパイル済みヘッダ

    ホーム < ゲームつくろー! < C++踏み込み編 その14 ドキドキしないプリコンパイル済みヘッダー ちょっとしたテストやサンプルの為に書き捨てるプログラムではなく、大規模なプログラムを作成するとコンパイル時間が馬鹿にならなくなってきます。商用ゲームだと、規模は様々ですが、コンシューマ機で販売するような規模のプログラムになるとフルビルドで数時間からヘタをすると1日近くかかる場合もあります。ゲームプログラマになって初めて超絶に大規模なコードに触れ、さらにそれをフルビルドした時には、それはそれは延々と続くビルドにただただ驚いたのを覚えています。 そこまで大規模とは言わないまでも、ある程度規模が大きくなるとビルド時間を短縮したくなってくるものです。そういう時、割とお手軽で効果的にビルド時間を短くしてくれる仕組みが「プリコンパイル済みヘッダー」です。 C++はコードをコンパイルしリンクすることで

    dynamicsoar
    dynamicsoar 2015/01/08
    わかりやすくて涙が出そう/2013 Expressだと微妙に表記が違うが、分かる範囲
  • Using color themes with Visual Studio 2013 Express Editions

    dynamicsoar
    dynamicsoar 2015/01/08
    注意として日本語で使ってたら"Developer Command Prompt for VS2013"は「開発者コマンド プロンプト for VS2013」なのと、これを起動してからcdする必要がある(スクショ参照)
  • multicoreware / cppamp-driver-ng / wiki / Home — Bitbucket

    Atlassian Sourcetree is a free Git client for Windows. Atlassian Sourcetree is a free Git client for Mac.

  • The GNU C Library

  • 速習 makefileの作り方 - cmphysの日記

    Linuxにはmakeという便利な機能があります。 通常ですとプログラムをコンパイルする時は、コンパイルする度にコマンドラインにコンパイラ名とソースファイル名とコンパイルオプションと・・・と大変めんどうなのです。 さらに、ある一つのソースファイルを書き換えたとき、すべてをもう一回プログラムをすべてコンパイルし直すのは面倒です。 これを"make"のコマンド一発でやってのけてくれます。 makeを使えば、コマンドラインに面倒くさいオプションを書く必要もなし、更新されたファイルだけを選択的に選んでコンパイルしてくれるので、書き直した時のコンパイル時間の短縮にもなります。 このmakefileの作り方は全く難しいものではなく、一度作ってしまえばあとは使い回すことができます。 今回はFortran90のプログラムの場合を考えますが、C言語にも簡単に応用することができます。 復習 ソースコードから実

    速習 makefileの作り方 - cmphysの日記
  • http://web.agr.ehime-u.ac.jp/~kishou/Lecture/atmosphere/atmo06.htm

    2 データ解析のためのFortran90/95 ・まえがき      参考書 ・第1章 ・第2章          章末問題の解答例 ・第3章         章末問題の解答例 ・第4章         章末問題の解答例 ・第5章         章末問題の解答例 ・第6章         章末問題の解答例 ・第7章         章末問題の解答例

  • データ解析のための Fortran90/95 第 4 章 配列   第 4章 配列 § 4.1 配列の基礎概念 1. データ並びとしての配列 添え字付き変数 同種類の多数デ一タを扱う場合、データの個数 n が大きくなる

    データ解析のための Fortran90/95 第 4 章 配列   第 4章 配列 § 4.1 配列の基礎概念 1. データ並びとしての配列 添え字付き変数 同種類の多数デ一タを扱う場合、データの個数 n が大きくなるとその1つ1つに別の変数名をつけて扱 うのはたいへん手間がかかる。たとえば n = 5 のとき、x1,x2,x3,,x4,x5 の 5 個の変数の平均を求める 場合、 average = ( x1 + x2 + x3 + x4 + x5 )/5.0 と書くことはできるが、データの個数 n が変わった場合にはプログラムを書き直さなければならないし、 n が大きくなれば書き下すこと自体がたいへんな手間になる。 このような場合、数学では変数 x に添え字 (subscript) をつけて、x1、x2 ··· のように表しておき、    average = 1 n n ∑ i=1

  • Fortranデバッグ用オプション - kusuhara's wiki

    オプション指定例 gfortran gfortran -Wall -pedantic -std=f95 -fbounds-check -O -Wuninitialized -ffpe-trap=invalid,zero,overflow (-fbacktrace) [a.f90] '-backtrace'が使えない場合はデバッガを使う g95 g95 -Wall -pedantic -std=f95 -fbounds-check -O2 -Wuninitialized -ftrace=full [a.f90] ifort ifort -check all -warn all -std -gen_interfaces -fpe0 -ftrapuv -traceback [a.f90] -gen_interfaces:subroutineやfunctionのINTERFACEブロックを作ってく

    dynamicsoar
    dynamicsoar 2014/08/21
    これはいいまとめ
  • バブルソートよりも非効率なソートアルゴリズムを探して ―― ストゥージソートとスローソート - Line 1: Error: Invalid Blog('by Esehara' )

    はじめに 恐らく、プログラマの中で配列内の要素を整列させたりするソートにお世話にならなかった人、というのは余り考えられないのではないでしょうか。しかし、とはいえ、大抵はソートを自前で実装せず、組み込み関数であったり、あるいは何らかのライブラリで済ませることが殆どだと思う。 車輪の再発明というよりも、バグとか、自分が考慮していなかった挙動などを避けるために、自前でソートを組むことは余りないのですが、とはいえ、自分なりにソートを実装して見ると、それがどういう特徴を持ったソートであるか、というのがわかりますし、また、ソートというのはいったいどういう操作で実現されるのかという洞察が深まってくるなあ、という実感があったりする。 なので、今回はあるソート二つについての話を書くのが趣旨です。 最高のアルゴリズムはある、だが最悪のアルゴリズムは何か 一口にソートといったところで、ソート自体にも銀の弾丸があ

    バブルソートよりも非効率なソートアルゴリズムを探して ―― ストゥージソートとスローソート - Line 1: Error: Invalid Blog('by Esehara' )
    dynamicsoar
    dynamicsoar 2014/08/16
    MiracleSortどういう意味かと思ってstackoverflow見たら、宇宙線の(原文はα線とあるがγ線じゃないっけ)ビットエラーでいつかは望みの配列が得られるかも、ということか
  • G95, Windows Download | The Fortran Company

    The G95 compiler binary from 2012 is available here.  Click the “g95-Mingw_2012120” link below.  This will download an executable .exe file which installs G95 for Windows. G95 is a free open source Fortran 95 compiler.  It implements the Fortran 95 Standard, some parts of the Fortran 2003 Standard and a few extensions.  In addition, G95 can compile code to the F Programming Language subset. The la

    dynamicsoar
    dynamicsoar 2014/08/07
    g95のバイナリ。本家がリンク切れなのでここから。ただしgfortran, gccと共存するためにはg95-MinGW-41なのでこれではダメっぽい
  • dfltweb1.onamae.com – このドメインはお名前.comで取得されています。

    このドメインは お名前.com から取得されました。 お名前.com は GMOインターネットグループ(株) が運営する国内シェアNo.1のドメイン登録サービスです。 ※表示価格は、全て税込です。 ※サービス品質維持のため、一時的に対象となる料金へ一定割合の「サービス維持調整費」を加算させていただきます。 ※1 「国内シェア」は、ICANN(インターネットのドメイン名などの資源を管理する非営利団体)の公表数値をもとに集計。gTLDが集計の対象。 日のドメイン登録業者(レジストラ)(「ICANNがレジストラとして認定した企業」一覧(InterNIC提供)内に「Japan」の記載があるもの)を対象。 レジストラ「GMO Internet Group, Inc. d/b/a Onamae.com」のシェア値を集計。 2023年5月時点の調査。

    dfltweb1.onamae.com – このドメインはお名前.comで取得されています。
  • 分割の定石

    第1項:変数の共有 第2項:extern宣言 第3項:ヘッダーファイルの重複防ぎ [1]変数の共有 前節では、最低限の構成でプログラムを複数ファイルに分割しました。 しかし、共有できたのは関数だけであり、変数の共有は行いませんでした。 複数のソースファイルに分けて開発を行う場合は、 関数だけでなく、変数や定数なども共有する必要が生じてきますが、 前章の方法では、変数を共有することは出来ません。 例えば、次のようにヘッダーファイル内で変数を宣言すると、 宣言が重複している、という意味のエラーが表示され、コンパイル出来ません。 /* sum.h */ int sum(int min,int max); int Public; このエラーをより正確に理解するには、宣言の意味を理解する必要があります。 これまで、関数にしろ変数にしろ、宣言する、と表現してきましたが、 実は、宣言に

    dynamicsoar
    dynamicsoar 2014/07/23
    わかりやすいー
  • C言語の正しいヘッダファイルの書き方 - saito’s blog

    最近、仕事でC言語での組み込み系の開発に携わっています。 開発中のコードを眺めていると、ヘッダファイル内にstatic関数のプロトタイプ宣言を記述していたり、ヘッダファイル内で不必要に他のヘッダファイルをインクルードしているなど、ヘッダファイルの書き方が分かっていないと思われる箇所が多々見られました。 実際、C言語の入門書でもヘッダファイルの書き方を詳しく説明しているものは、僕の知っている限りでは存在しないので、C言語を使っていてもヘッダファイルの正しい書き方を知らない人が少なくないのではないかと思われます。 そこで、このエントリでは、C言語のヘッダファイルの書き方について、僕が知っているテクニックをまとめてみました。 インクルードガードを書く ヘッダファイルファイルで他のヘッダファイルをインクルードしていると、いつの間にか同じヘッダファイルを2回インクルードしてしまうことがあります。 例

    C言語の正しいヘッダファイルの書き方 - saito’s blog
    dynamicsoar
    dynamicsoar 2014/07/23
    なるほどー。まさに詰まってたあたりがまとまってた。すごくありがたい。