ロゴ
ユニオンペディア
コミュニケーション
Google Play で手に入れよう
新しい! あなたのAndroid™デバイスでユニオンペディアをダウンロードしてください!
無料
ブラウザよりも高速アクセス!
 

テンプレート (プログラミング)

索引 テンプレート (プログラミング)

プログラミングにおけるテンプレートは、静的型付けのC++でデータ型にとらわれずにコードを書くことを可能にする機能であり、C++においてはジェネリックプログラミングに用いられる。 C++においてテンプレートは多重継承や演算子多重定義と並ぶ重要な機能となった。STL (Standard Template Library)はテンプレートによって構築されたフレームワークとなっている。.

29 関係: Ada型システム実行ファイル引数リテラルプリプロセッサプログラミング (コンピュータ)ヒープテンプレートメタプログラミングデータ型アプリケーションフレームワークインライン展開インライン関数オーバーヘッドクラス (コンピュータ)コンパイラジェネリックプログラミングC SharpC++継承 (プログラミング)総称型D言語複素数連結リストJavaStandard Template Library標準C++ライブラリ文字列整数型

Ada

Ada(エイダ)は、強力な言語機能を豊富に持ち、高度な型の体系をもつ、プログラミング言語の一つである。構文はAlgol系である。 史上初のプログラマとされるエイダ・ラブレスの名前にちなんでAdaと命名されているため、ADAと表記するのは誤り。 フリーのコンパイラとしては、GNATなどがある。.

新しい!!: テンプレート (プログラミング)とAda · 続きを見る »

型システム

型システム(type system)とは、プログラミング言語において、その式などの部分が持つ値を、その種類(型(type)、データ型も参照)に沿って分類し、プログラムが正しく振る舞うこと、といった性質について保証する手法である。型システムは、型理論に基づいており、プログラミング言語の理論において最も確立された軽量形式手法である。.

新しい!!: テンプレート (プログラミング)と型システム · 続きを見る »

実行ファイル

実行ファイル(じっこうファイル、Executable、Executable file)とは、コンピュータがプログラムとして解釈実行できるファイルである。実行可能ファイル、実行形式ファイル、あるいは単に実行形式とも呼ばれる。 多くの場合、特定のCPUの機械語を格納したバイナリ形式である(この形式の実行ファイルを単に「バイナリ(ファイル)」と呼ぶこともある)。あるファイルが実行ファイルかどうかは、主に規約の問題である。オペレーティングシステムによっては実行ファイルであることを示すファイル名の規約が存在する(拡張子 ".bin" ".exe"など)。あるいはファイルのメタデータで実行ファイルかどうかを示す(例えばUNIX系オペレーティングシステムのファイルパーミッションビット)。 最近のアーキテクチャでは、実行ファイルにはプログラム自体に含まれない情報も格納される。例えば、実行に必要な環境についての情報、デバッグ情報、シンボル情報などである。 実行ファイルには特定のオペレーティングシステムのシステムコールを呼び出すコードが含まれることもある。つまり実行ファイルはプロセッサ固有であるだけでなくオペレーティングシステム固有でもある。 ソースファイルと実行ファイルの違いはあいまいである。というのもソースから実行形式への変換が暗黙のうちに行われることがあるためである。インタプリタのファイル(シェルスクリプトやバッチファイルを含む)は、厳密に言えばインタプリタプログラムが解釈する命令を与えるものである。.

新しい!!: テンプレート (プログラミング)と実行ファイル · 続きを見る »

引数

引数(ひきすう)は、数学における関数やコンピュータプログラムにおける手続きにおいて、その外部と値をやりとりするための特別な変数、あるいはその変数の値のことである。 数学や最適化問題に関するそれ(「パラメータ」とカタカナで表現されることが多い)については「媒介変数」の記事を参照のこと。以下は専らコンピュータプログラミングに関して説明する。 関数・サブルーチン・メソッド等を定義する時に、外部から値を渡される特別な変数として指定されるのが仮引数。関数(等)を呼出す式において、仮引数に対応する式(あるいはその値)が実引数である。実行時には、実引数の値を仮引数が受け取る。 「引数」を「いんすう」と読む読み方もあるが、術語としては変則的に湯桶読みして「ひきすう」としている。数学分野で因数との取違えを防ぐためといった理由もある。.

新しい!!: テンプレート (プログラミング)と引数 · 続きを見る »

リテラル

リテラル(literal)は、「文字どおり」「字義どおり」を意味する語で、 と同じくラテン語の (文字)に由来する。数理論理学とコンピュータプログラミングで異なる意味の専門用語として使われる。.

新しい!!: テンプレート (プログラミング)とリテラル · 続きを見る »

プリプロセッサ

プリプロセッサ (preprocessor) とは、一般にある処理を行うソフトウェアに対して、データ入力やデータ整形などの準備的な処理を行うソフトウェアのことである。特にコンパイラに対して使うことが多く、ここではそれを中心に述べる。 他の分野の例としては、CADやCAEのデータ処理がある。またワープロソフトウェアにおける漢字変換ソフトウェアもプリプロセッサの一例である。.

新しい!!: テンプレート (プログラミング)とプリプロセッサ · 続きを見る »

プログラミング (コンピュータ)

ンピュータのプログラミング(programming)とは、コンピュータプログラムを作成することにより、人間の意図した処理を行うようにコンピュータに指示を与える行為である。.

新しい!!: テンプレート (プログラミング)とプログラミング (コンピュータ) · 続きを見る »

ヒープ

ヒープ(heap)とは、「子要素は親要素より常に大きいか等しい(または常に小さいか等しい)」という制約を持つ木構造の事。単に「ヒープ」という場合、二分木を使った二分ヒープを指すことが多いため、そちらを参照すること。 二分ヒープのインデックス付け.

新しい!!: テンプレート (プログラミング)とヒープ · 続きを見る »

テンプレートメタプログラミング

テンプレートメタプログラミング(template metaprogramming)は、メタプログラミング技法の一種であり、コンパイラがテンプレートを使って一時的ソースコードを生成し、それを他のソースコードと結合してコンパイルする方式である。テンプレートが出力するものは、コンパイル時の定数、データ構造、関数定義などがある。テンプレートの利用は言わばコンパイル時の実行である。この技法は様々な言語で使われている(C++、D言語、Eiffel、Haskell、ML、XLなど)。.

新しい!!: テンプレート (プログラミング)とテンプレートメタプログラミング · 続きを見る »

データ型

データ型(データがた、)とは、(コンピュータにおける)データ(値)の種類に関する分類である。データタイプとも。 具体的にいうと、たとえば 0, 1, 2, -42 といったような値は整数型であり、"foo", "Hello" といったような値は文字列型である。プログラミングなどにおいて、まずデータオブジェクトや関数などの「値」について、またさらに、それらに関連付け(束縛)される変数や定数、リテラル、それらを組合せる演算子、さらにそれらからなる式といった構文上の要素の型が、データ型の議論の対象となる。.

新しい!!: テンプレート (プログラミング)とデータ型 · 続きを見る »

アプリケーションフレームワーク

アプリケーションフレームワーク (Application Framework) とは、プログラミングにおいて、特定のオペレーティングシステムのためのアプリケーションの標準構造を実装するのに使われるクラスやライブラリの集まりである。単にフレームワークとも呼ぶ。 多くの再利用可能なコードをフレームワークにまとめることによって、開発者の手間を省き、新たなアプリケーションのために標準的なコードを改めて書かなくて済むようにする。アプリケーションフレームワークはグラフィカルユーザインタフェース (GUI) が一般的になるに連れて一般化してきた。というのも、GUIはアプリケーションの基本的構造の標準化を促進する傾向があるためである。アプリケーションの基本コード構造が明らかであるため、標準フレームワークを使えば自動GUI作成ツールが作り易くなる。フレームワークの実装にはオブジェクト指向プログラミング技法が一般に使われ、あるアプリケーションの独自の部品がフレームワーク内の既存のクラスを継承することができる。 商用の最初のフレームワークとしてMacAppがある。アップルコンピュータがMacintosh向けに開発したものである。当初、拡張(オブジェクト指向化)されたPascal言語Object Pascalで書かれていたが、後にC++言語で書き直された。Macintosh向けの他のフレームワークとしてMetrowerks PowerPlantやMacZoopがある(いずれもCarbonベース)。別の系統のアプリケーションフレームワークとして macOS 向けのCocoaがある。 フリーソフトウェアとしては、Mozilla、OpenOffice.org、GNOME、KDEといったプロジェクトにはアプリケーションフレームワークが含まれている。 マイクロソフトは、Microsoft Foundation Class (MFC) と呼ばれる Windows 向けの同様の製品を開発している。MFCはWindows APIを薄くラップしたC++言語専用のクラスライブラリおよびフレームワークであり、マイクロソフトは他にもActive Template Library (ATL) やWindows Template Library (WTL) といったC++のテンプレート機能を活用したクラスライブラリ・フレームワークを開発している。 wxWidgetsやFOX toolkitのようなウィジェット・ツールキットのように、Macintosh、Windows、Linuxなどの複数のプラットフォーム向けのアプリケーションを同一ソースコードから作成できるフレームワークも多数存在する。 また、ウェブアプリケーション構築のためのアプリケーションフレームワークも多数存在する(Apache Struts、Ruby on Railsなど)。.

新しい!!: テンプレート (プログラミング)とアプリケーションフレームワーク · 続きを見る »

インライン展開

インライン展開(inline expansion または inlining)とは、コンパイラによる最適化手法の1つで、関数を呼び出す側に呼び出される関数のコードを展開し、関数への制御転送をしないようにする手法。これにより関数呼び出しに伴うオーバーヘッドを削減する。特に小さくて頻繁に呼ばれる関数では効果的であり、呼び出し側にそのコードを展開することで定数畳み込みなどのさらなる最適化を施せる可能性が生じる。問題点はバイナリコードが一般に肥大化する結果を招く点であり、参照の局所性を損なうほどだったり、リソースの限界を超えると性能がかえって悪化することになる。 関数型言語の世界では、インライン展開をβ変換とも呼び、関数型言語の理論的基盤となっているラムダ計算の用語としてよく使われる。.

新しい!!: テンプレート (プログラミング)とインライン展開 · 続きを見る »

インライン関数

インライン関数(inline function)とは、プログラミング言語の言語機能および構文の一種で、コンパイラに対して特定の関数をインライン展開するよう指示するものである。つまり、コンパイラに対して、その関数を呼び出している全ての箇所に関数の実体を挿入するよう指示する。.

新しい!!: テンプレート (プログラミング)とインライン関数 · 続きを見る »

オーバーヘッド

ーバーヘッド(overhead)は、直訳すると「頭上」「頭上の」と言う意味になるが、転じて自分の頭よりも遥か高いところや上空なども指す。エレベーターなどの昇降機の場合、最上階のレベルから、昇降路の頂部の構造体(スラブ又は梁)下端までの寸法を指す。.

新しい!!: テンプレート (プログラミング)とオーバーヘッド · 続きを見る »

クラス (コンピュータ)

ラス()は、クラスベースのオブジェクト指向においてオブジェクトの設計図にあたるもの。抽象データ型の一つ。クラスから生成したオブジェクトのことをインスタンスという。 クラスには、インスタンスの保持するデータ(メンバ変数、フィールド(UMLでは「属性」ともいう))と操作(メソッド、メンバ関数)が記述される。 クラスは、継承・ポリモーフィズム・カプセル化などの、オブジェクト指向プログラミングにおける重要な概念を実現する強力な手段である。.

新しい!!: テンプレート (プログラミング)とクラス (コンピュータ) · 続きを見る »

コンパイラ

ンパイラ(英:compiler)とは、コンピュータ・プログラミング言語の処理系(言語処理系)の一種で、高水準言語によるソースコードから、機械語に(あるいは、元のプログラムよりも低い水準のコードに)変換するプログラムである。.

新しい!!: テンプレート (プログラミング)とコンパイラ · 続きを見る »

ジェネリックプログラミング

ェネリック(総称あるいは汎用)プログラミング(generic programming)はデータ形式に依存しないコンピュータプログラミング方式である。.

新しい!!: テンプレート (プログラミング)とジェネリックプログラミング · 続きを見る »

C Sharp

C#(シーシャープ)は、アンダース・ヘルスバーグが設計(デザイン)したプログラミング言語であり、構文(syntax)は(名前にもある通り)C言語や、C言語風に構文が設計されたC++やJavaなどの影響があるが、構文以外についてはヘルスバーグが以前の所属であるBorlandで設計したDelphiからの影響がある。 Microsoftによる謳い文句としては、マルチパラダイムプログラミング言語、強い型付け、命令型、宣言型、手続き型、関数型、ジェネリック、オブジェクト指向の要素を持つ、などといった点が強調されている。 CLIといった周辺も含め、Microsoftのフレームワーク「.NET Framework」の一部である他、VJ++で「非互換なJava」をJavaに持ち込もうとしたような以前のMicrosoftとは異なり、その多くの仕様を積極的に公開し標準化機構に託して自由な利用を許す(ECMA-334、ISO/IEC 23270:2003、JIS X 3015)など、同社の姿勢の変化があらわれている一面でもある(実際に「Mono」という、フリーソフトウェアの定義に合致したライセンスの、コミュニティによる実装がある)。.

新しい!!: テンプレート (プログラミング)とC Sharp · 続きを見る »

C++

C++(シープラスプラス)は、汎用プログラミング言語の一つである。日本語では略してシープラプラ、シープラなどとも呼ばれる。.

新しい!!: テンプレート (プログラミング)とC++ · 続きを見る »

継承 (プログラミング)

継承(けいしょう、inheritance:インヘリタンス)とはオブジェクト指向を構成する概念の一つである。あるオブジェクトが他のオブジェクトの特性を引き継ぐ場合、両者の間に「継承関係」があると言われる。 主にクラスベースのオブジェクト指向言語で、既存クラスの機能、構造を共有する新たなクラスを派生することができ(サブクラス化)、そのようなクラスは「親クラス(スーパークラス)を継承した」という。具体的には変数定義や操作(メソッド)などが引き継がれる。またJavaのインタフェース継承のように機能セットの仕様のみを引き継ぐ場合もある。 一般的に、BがAを継承する場合、B is a A. (BはAの一種である)という意味的な関係(Is-a関係)が成り立つ。従って、同じふるまいを持つからと言って、意味的に無関係なクラス間に継承関係を持たせるのは適切でない場合が多い。 プロトタイプベースのオブジェクト指向言語(Self、NewtonScript等)のように「クラス」という概念を持たない場合でも、クローン元となるオブジェクトを指して「継承」と呼ぶ。 継承と類似の概念に「委譲」があるが、継承では一度定まった継承関係は通常変更されないのに対して、委譲対象は必要に応じて変更されうるものである。 Is-a関係を持つ継承とは階層が異なる概念として集約 (aggregation) とコンポジション集約 (composition) があるが、これはクラス間の関係がHas-aである包含関係であり、クラス間の関係は継承よりも疎である。.

新しい!!: テンプレート (プログラミング)と継承 (プログラミング) · 続きを見る »

総称型

総称型(generic type)、あるいはパラメタ付型(parametric type)とは、型付けされたプログラミング言語においてデータ型の定義とそれを参照する式(型式)の一部にパラメタを許すことによって類似した構造を持つ複数のデータ型を一括して定義して、それらを選択利用する仕組みである。 総称型は、暗黙の型変換(implicit type conversion)あるいは型強制(type coercion)、多重定義あるいはオーバーロード(overload)、継承(inheritance)あるいは包含(inclusion)と並んでプログラミング言語においてポリモーフィズムを実現するための一つの手段であると看做せる。 総称型が使われている言語の例としてC++のテンプレート、JavaやC#のジェネリクスがある。.

新しい!!: テンプレート (プログラミング)と総称型 · 続きを見る »

D言語

D言語(ディーげんご、D programming language)は、プログラミング言語のひとつ。C言語をベースとしABI互換を保ちつつも、テンプレートによるジェネリックプログラミングやオブジェクト指向プログラミング、関数型プログラミングなどをサポートするマルチパラダイムプログラミング言語である。.

新しい!!: テンプレート (プログラミング)とD言語 · 続きを見る »

複素数

数学における複素数(ふくそすう、complex number)は、実数の対 と と線型独立な(実数ではない)要素 の線型結合 の形に表される数(二元数: 実数体上の二次拡大環の元)で、基底元 はその平方が になるという特別な性質を持ち虚数単位と呼ばれる。 複素数全体の成す集合を太字の あるいは黒板太字で と表す。 は、実数全体の成す集合 と同様に、可換体の構造を持ち、とくに を含む代数閉体を成す。複素数体はケイリー–ディクソン代数(四元数、八元数、十六元数など)の基点となる体系であり、またさまざまな超複素数系の中で最もよく知られた例である。 複素数の概念は、一次元の実数直線を二次元の複素数平面に拡張する。複素数は自然に二次元平面上に存在すると考えることができるから、複素数全体の成す集合上に自然な大小関係(つまり全順序)をいれることはできない。すなわち は順序体でない。 ある数学的な主題や概念あるいは構成において、それが複素数体を基本の体構造として考えられているとき、そのことはしばしばそれら概念等の名称に(おおくは接頭辞「複素-」を付けることで)反映される。例えば、複素解析、複素行列、複素(係数)多項式、複素リー代数など。.

新しい!!: テンプレート (プログラミング)と複素数 · 続きを見る »

連結リスト

連結リスト(れんけつリスト、Linked list)は、最も基本的なデータ構造の1つであり、他のデータ構造の実装に使われる。リンクリスト、リンクトリストとも表記される。 一連のノードが、任意のデータフィールド群を持ち、1つか2つの参照(リンク)により次(および前)のノードを指している。連結リストの主な利点は、リスト上のノードを様々な順番で検索可能な点である。連結リストは自己参照型のデータ型であり、同じデータ型の別のノードへのリンク(またはポインタ)を含んでいる。連結リストは場所が分かっていれば、ノードの挿入や削除を定数時間で行うことができる(場所を探すのにかかる時間はリスト上の順番の条件などにも依存するし、後述する片方向リストなのか双方向リストなのかにも依存する)。連結リストにはいくつかの種類があり、片方向リスト、双方向リスト、線形リスト、循環リストなどがある。 連結リストは多くのプログラミング言語で実装可能である。LISP や Scheme 、Prologといった言語は組み込みでこのデータ構造を持っていて、連結リストにアクセスするための操作も組み込まれている。手続き型やオブジェクト指向型の言語(C言語、C++、Java)では、連結リストを作るには mutable(更新可能)な参照を必要とする。.

新しい!!: テンプレート (プログラミング)と連結リスト · 続きを見る »

Java

Java(ジャバ)は、狭義ではプログラミング言語Javaを指す。広義では言語仕様以外にも、仕様が与えられているJavaクラスライブラリやJava仮想マシン、さらにはJDKやJREなどの公式のものをはじめとする、場合によってはサードパーティのものなどを含め曖昧にJavaプラットフォームと総称されるようなものなどのエコシステムなどを指すこともある。構文についてはJavaの文法の記事を参照。.

新しい!!: テンプレート (プログラミング)とJava · 続きを見る »

Standard Template Library

Standard Template Library (STL) は、プログラミング言語C++の規格で定義された標準ライブラリの一つ。ヒューレット・パッカード社在籍の研究者(当時)であったアレクサンドル・ステパノフ等によって考案され、後にANSI/ISO標準に組み込まれた。.

新しい!!: テンプレート (プログラミング)とStandard Template Library · 続きを見る »

標準C++ライブラリ

標準C++ライブラリは、C++の標準規格で定められたライブラリである。これはクラスと関数などの集合であり、汎用的なコンテナとそれを操作する関数、関数オブジェクト、汎用的な文字列とストリーム(コンソールやファイルとの入出力)、言語機能サポート、平方根を求めるなどといった日用的な関数などから構成される。また、ISO C90の標準Cライブラリも含んでいる。標準C++ライブラリはそのほとんどが名前空間std内にある。 Standard Template Library (STL)は標準C++ライブラリの一部分で、コンテナ、アルゴリズム、イテレータ、関数オブジェクトなどを含むものである。中にはSTLという言葉を標準C++ライブラリと混同して使う者もいる。 標準C++ライブラリのヘッダには末尾に.hが付かない。.

新しい!!: テンプレート (プログラミング)と標準C++ライブラリ · 続きを見る »

文字列

文字列(もじれつ)は、単語や文章のような、文字の連なったもの。ストリング (string)、テキスト (text) という場合もある。コンピュータ、特にプログラミングの分野で用いることが多い。.

新しい!!: テンプレート (プログラミング)と文字列 · 続きを見る »

整数型

整数型(せいすうがた)は、コンピュータのプログラムなどのデータ型の1つまたは1群であり、整数を取り扱う。コンピュータで扱うもっとも単純な部類のデータ型のひとつである。C言語やJavaなどの多くのプログラミング言語では、整数型は固定長であり、その固定サイズで表現可能な範囲の、整数の有限な部分集合の要素を値とする型である。また多くの言語において、標準あるいは第三者によるライブラリにより、範囲に制限のない整数も扱うことができる。 パスカルによる機械式計算機などが数をその処理の対象としていたことを考えれば、計算機械の歴史において、整数を扱うことはコンピュータ以前からの存在である。.

新しい!!: テンプレート (プログラミング)と整数型 · 続きを見る »

出ていきます入ってきます
ヘイ!私たちは今、Facebook上です! »