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

C++11

索引 C++11

C++11は、プログラミング言語 C++ のISO標準 ISO/IEC 14882:2011 の略称である。規格の策定中は2009年中の標準化を目指していたため、C++0x という仮称で呼ばれていた。 ISO/IEC 14882:2003 (C++03) に代わるものとして、2011年8月12日にISOによって承認された。後継のC++14が2014年8月18日に承認されている。 コア言語への機能追加や標準C++ライブラリの拡張を施し、C++TR1ライブラリの大部分を(数学的特殊関数ライブラリを除いて)取り込んでいる。.

78 関係: /dev/randomAdapter パターン変数 (プログラミング)委譲不可分操作乱数列幾何分布二項分布弱い参照例外処理ミューテックスハッシュテーブルバックスラッシュポリモーフィズムポアソン分布ポインタ (プログラミング)メモリバリアメタプログラミングモニタ (同期)ラムダ計算ライブラリリテラルレジスタ (コンピュータ)ヌルポインタヌル終端文字列トランスデューサープラットフォーム (コンピューティング)プログラミングパラダイムプログラミング言語プログラミング言語年表テンプレート (プログラミング)テンプレートメタプログラミングベルヌーイ分布オープン標準オブジェクト指向プログラミングカウンターガンマ分布ガベージコレクションクロージャコンパイラ最適化コンセプト (C++)ジェネリックプログラミングスレッド (コンピュータ)スレッドセーフ動的メモリ確保国際標準化機構B木C SharpC++C++ Technical Report 1...C++14C言語確率論Extensible Markup Language表明記憶装置関数へのポインタ関数オブジェクト離散一様分布連続一様分布JavaRAIIRandThis (プログラミング)UnicodeUTF-16UTF-32UTF-8標準C++ライブラリ正規分布正規表現指数分布文字符号化方式01972年1995年1998年2005年 インデックスを展開 (28 もっと) »

/dev/random

/dev/random はUnix系オペレーティングシステム (OS) における擬似デバイスの一種であり、乱数生成器として機能する。デバイスドライバその他の情報源から集めた環境ノイズを利用して、真の乱数性を得るのが目的である。全てのUnix系OSが /dev/random およびそれに類する機能を実装しているわけではない。また、それぞれの実装が、同じように振舞うわけでもない。このような擬似デバイスを実装した最初のOSはLinuxであった。.

新しい!!: C++11と/dev/random · 続きを見る »

Adapter パターン

Adapter パターン(アダプター・パターン)とは、GoF (Gang of Four; 4人のギャングたち) によって定義されたデザインパターンの1つである。Adapter パターンを用いると、既存のクラスに対して修正を加えることなく、インタフェースを変更することができる。Adapter パターンを実現するための手法として継承を利用した手法と委譲を利用した手法が存在する。それぞれについて以下の節で説明する。.

新しい!!: C++11とAdapter パターン · 続きを見る »

変数 (プログラミング)

プログラミングにおいて、変数(へんすう、variable)とは、プログラムのソースコードにおいて、扱われるデータを一定期間記憶し必要なときに利用できるようにするために、データに固有の名前を与えたものである。 一人一人の人間が異なる名前によって区別されるように、一つ一つの変数も名前によって区別される。これにより、複数のデータを容易に識別することができる。変数名は一般に(字句的には)識別子である、ないし、変数の識別子のことを変数名という。一般に、変数が表しているデータをその変数の値(あたい)という。.

新しい!!: C++11と変数 (プログラミング) · 続きを見る »

委譲

委譲 (delegation) とはオブジェクト指向プログラミングにおいて、あるオブジェクトの操作を一部他のオブジェクトに代替させる手法のこと。.

新しい!!: C++11と委譲 · 続きを見る »

不可分操作

不可分操作(ふかぶんそうさ)あるいはアトミック操作 (atomic operation) とは、情報工学においていくつかの操作を組み合わせたもので、システムの他の部分から見てそれらがひとつの操作に見えるものをいう。.

新しい!!: C++11と不可分操作 · 続きを見る »

乱数列

乱数列(らんすうれつ)とはランダムな数列のこと。 数学的に述べれば、今得られている数列 x1, x2,..., xn から次の数列の値 xn+1 が予測できない数列。乱数列の各要素を乱数という。.

新しい!!: C++11と乱数列 · 続きを見る »

幾何分布

幾何分布(きかぶんぷ、geometric distribution)は、離散型確率分布で、次の2通りの定義がある。.

新しい!!: C++11と幾何分布 · 続きを見る »

二項分布

数学において、二項分布(にこうぶんぷ、binomial distribution)は、結果が成功か失敗のいずれかである 回の独立な試行を行ったときの成功数で表される離散確率分布である。各試行における成功確率 は一定であり、このような試行をベルヌーイ試行と呼ぶ。二項分布に基づく統計的有意性の検定は、二項検定と呼ばれている。.

新しい!!: C++11と二項分布 · 続きを見る »

弱い参照

弱い参照(weak reference、ウィークリファレンス)とは、参照先のオブジェクトをガベージコレクタから守ることのできない参照のことである。弱い参照からのみによって参照されるオブジェクトは到達不可能とみなされ、従っていつでも解放することができる。弱い参照は、不要となったオブジェクトが循環参照によって解放されないという問題を防ぐために用いられる。PythonやJavaをはじめとしたガベージコレクタを実装したオブジェクト指向言語の多くは、弱い参照を実装している。 ガベージコレクタ (GC) はメモリリークを防ぐために用いられる。GCの種類には、主にマーク・アンド・スイープ型と参照カウンタ型の2種類がある。このうち参照カウンタ型は、オブジェクトごとに参照の数を記録したレコードを用意し、その数が0になった時点でオブジェクトを解放するというものである。このタイプのGCは、あるオブジェクト間で参照が循環した場合にそれらを解放することができない。そのため、相互に参照しあったオブジェクト群はメモリリークの原因となる。この問題は、強い参照を弱い参照で置き換えることで循環が断たれるのであれば、弱い参照によって解決することが可能である。 プログラムは、あるオブジェクトに弱い参照のみを用いて参照することで、そのオブジェクトがさほど重要ではないということを示すことができる。そのため弱い参照は、必ずしも必要ではないオブジェクトがメモリ中に存在する数を最小にするためにも用いることができる。 弱い参照の強度を複数もつ言語もある。例えば、Javaには弱い参照、ファントム参照、ソフト参照がある(java.lang.ref パッケージに定義されている)。C++のように、元々ガベージコレクタのない言語で、その代替機能をライブラリでサポートし、その中で弱い参照・強い参照の機能を提供しているものもある。C++のスマートポインタ (Boost, TR1, C++11) の場合ではshared_ptrが「強い参照」でweak_ptrが「弱い参照」である。通常のポインタは参照の数に影響しないと言う意味で「弱い参照」と考えることもできるが、弱い参照はオブジェクトが到達不可能になったことを知っているべきなので、ポインタは本当の意味での弱い参照ではない。 弱い参照が便利なひとつの例として、アプリケーション内で参照されている変数を追跡するケースがある。この追跡リストは、対象オブジェクトに対して弱い参照で参照しなければならない。そうしなければ、一度リストに加えられたオブジェクトはリストによって参照されるため、プログラムが停止するまで半永久的に解放されることはない。 Category:プログラミング言語の構文 Category:メモリ管理.

新しい!!: C++11と弱い参照 · 続きを見る »

例外処理

例外処理(れいがいしょり)とは、プログラムの上位の処理から呼び出されている下位の処理で継続不能、または継続すれば支障をきたす異常事態に陥ったとき、制御を呼び出し元の上位の処理に返し安全な状態になるよう回復処理をすること。その際に発生した異常のことを例外と呼ぶ。 継続不能や継続すると問題になる様な状態としては、次のようなものが挙げられる。.

新しい!!: C++11と例外処理 · 続きを見る »

ミューテックス

ミューテックス (Mutex) とは、コンピュータプログラミングにおける技術用語。クリティカルセクションでアトミック性を確保するための排他制御や同期機構の一種である。Mutexという語はMUTual EXclusion (相互排他、排他制御) の省略形である。ここでは、狭義の排他制御について述べる。.

新しい!!: C++11とミューテックス · 続きを見る »

ハッシュテーブル

ハッシュテーブルの例(名前をキーとして電話番号を検索) ハッシュテーブル (hash table) は、キーと値の組(エントリと呼ぶ)を複数個格納し、キーに対応する値をすばやく参照するためのデータ構造。ハッシュ表ともいう。ハッシュテーブルは連想配列や集合の効率的な実装のうち1つである。.

新しい!!: C++11とハッシュテーブル · 続きを見る »

バックスラッシュ

バックスラッシュ(backslash)、逆斜線(ぎゃくしゃせん)、あるいはリバースソリダス (reverse solidus) は約物の一つで、「 」と書き表される。バックスラッシュとはスラッシュ (/) の逆という意味である。「 / 」に比べれば、自然言語ではあまり使われることのない記号である。 バックスラッシュと円記号 (¥) の問題については、円記号も参照のこと。.

新しい!!: C++11とバックスラッシュ · 続きを見る »

ポリモーフィズム

ポリモーフィズム()とは、プログラミング言語の型システムの性質を表すもので、プログラミング言語の各要素(定数、変数、式、オブジェクト、関数、メソッドなど)についてそれらが複数の型に属することを許すという性質を指す。ポリモルフィズム、多態性、多相性、多様性とも呼ばれる。対義語はモノモーフィズム(Monomorphism)、単態性、単相性で、プログラミング言語の各要素が唯一つの型に属するという性質を指す。 ポリモーフィズムは次のようないくつかの種類に分けられる。.

新しい!!: C++11とポリモーフィズム · 続きを見る »

ポアソン分布

統計学および確率論においてポアソン分布 (Poisson distribution)とは、数学者シメオン・ドニ・ポアソンが1838年に確率論とともに発表した、所与の時間間隔で発生する離散的な事象を数える特定の確率変数 を持つ離散確率分布のことである。ある離散的な事象に対して、ポアソン分布は所与の時間内での生起回数の確率を示し、指数分布は生起期間の確率を示す。.

新しい!!: C++11とポアソン分布 · 続きを見る »

ポインタ (プログラミング)

ポインタ (pointer) とは、あるオブジェクトがなんらかの論理的位置情報でアクセスできるとき、それを参照する(指し示す)ものである。有名な例としては Pascal のポインタが挙げられる。 なお、C++では、さらに独立した「参照」という機能がある。.

新しい!!: C++11とポインタ (プログラミング) · 続きを見る »

メモリバリア

メモリバリア(Memory Barrier)またはメモリフェンス(Memory Fence)とは、その前後のメモリ操作の順序性を制限するCPUの命令の一種である。 CPUには、性能最適化策としてアウト・オブ・オーダー実行を行うものがあり、メモリのロード命令やストア命令を含めて順序を入れ替えて実行する。この命令の並べ替えは、ひとつのスレッドの中で一般に暗黙のうちに行われるが、マルチスレッドプログラムやデバイスドライバでは慎重に制御しない限り予測不能の動作を生じる原因となる。順序性の制限の方法はハードウェア依存であり、そのアーキテクチャによって定義される。アーキテクチャによってはいくつかのバリアを用意して、それぞれ異なった順序性制限を実現している場合がある。 メモリバリアは低レベルの機械語で使われることが多く、複数のデバイスが共有するメモリを操作するのに使われる。そのようなコードとして、同期プリミティブ、マルチプロセッサシステムでのロックフリーなデータ構造、何らかのハードウェア機器を制御するデバイスドライバなどがある。.

新しい!!: C++11とメモリバリア · 続きを見る »

メタプログラミング

メタプログラミング (metaprogramming) とはプログラミング技法の一種で、ロジックを直接コーディングするのではなく、あるパターンをもったロジックを生成する高位ロジックによってプログラミングを行う方法、またその高位ロジックを定義する方法のこと。主に対象言語に埋め込まれたマクロ言語によって行われる。.

新しい!!: C++11とメタプログラミング · 続きを見る »

モニタ (同期)

モニタ(Monitor)は、リソース(何らかのハードウェア機器や変数群)を共有する複数のタスクの同期を実現する手法である。 Per Brinch Hansen が発明し、Concurrent Pascal 言語に最初に実装され、Solo Operating System でのプロセス間通信方式として使われた。.

新しい!!: C++11とモニタ (同期) · 続きを見る »

ラムダ計算

ラムダ計算(ラムダけいさん、lambda calculus)は、計算模型のひとつで、計算の実行を関数への引数の評価(evaluation)と適用(application)としてモデル化・抽象化した計算体系である。ラムダ算法とも言う。関数を表現する式に文字ラムダ (λ) を使うという慣習からその名がある。アロンゾ・チャーチとスティーヴン・コール・クリーネによって1930年代に考案された。1936年にチャーチはラムダ計算を用いて一階述語論理の決定可能性問題を(否定的に)解いた。ラムダ計算は「計算可能な関数」とはなにかを定義するために用いられることもある。計算の意味論や型理論など、計算機科学のいろいろなところで使われており、特にLISP、ML、Haskellといった関数型プログラミング言語の理論的基盤として、その誕生に大きな役割を果たした。 ラムダ計算は1つの変換規則(変数置換)と1つの関数定義規則のみを持つ、最小の(ユニバーサルな)プログラミング言語であるということもできる。ここでいう「ユニバーサルな」とは、全ての計算可能な関数が表現でき正しく評価されるという意味である。これは、ラムダ計算がチューリングマシンと等価な数理モデルであることを意味している。チューリングマシンがハードウェア的なモデル化であるのに対し、ラムダ計算はよりソフトウェア的なアプローチをとっている。 この記事ではチャーチが提唱した元来のいわゆる「型無しラムダ計算」について述べている。その後これを元にして「型付きラムダ計算」という体系も提唱されている。.

新しい!!: C++11とラムダ計算 · 続きを見る »

ライブラリ

ライブラリ()は、汎用性の高い複数のプログラムを再利用可能な形でひとまとまりにしたものである。ライブラリと呼ぶ時は、それ単体ではプログラムとして作動させることはできない実行ファイルではない場合がある。ライブラリは他のプログラムに何らかの機能を提供するコードの集まりと言うことができる。ソースコードの場合と、オブジェクトコード、あるいは専用の形式を用いる場合とがある。たとえば、UNIXのライブラリはオブジェクトコードをarと呼ばれるアーカイバでひとまとめにして利用する。図書館()と同様にプログラム(算譜)の書庫であるので、索引方法が重要である。 また、ソフトウェア以外の再利用可能なものの集合について使われることもある。.

新しい!!: C++11とライブラリ · 続きを見る »

リテラル

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

新しい!!: C++11とリテラル · 続きを見る »

レジスタ (コンピュータ)

レジスタ(register)はコンピュータのプロセッサなどが内蔵する記憶回路で、制御装置や演算装置や実行ユニットに直結した、操作に要する速度が最速の、比較的少量のものを指す。.

新しい!!: C++11とレジスタ (コンピュータ) · 続きを見る »

ヌルポインタ

ヌルポインタ(null pointer)とは、何のオブジェクトも指していないことを表す特別なポインタである。 プログラムではヌルポインタを、不定長のリストの終端を表したり、何らかの動作の結果が失敗であることを表したりするのに使用する。後者の用法は、やのNothing値を使用することもできる。 ヌルポインタの値や型がいかなるものかという詳細は言語によって異なる。実際的にはいかなるオブジェクトも参照しないという言語もあり、参照先を求めようとするとJava(NullPointerException)のように例外が発生するものもある。 ヌルポインタはほとんどの処理系(この場合、言語処理系プログラムだけではなく、ハードウェアまでを含めて)で、内部的に0で表現されるが、ごく希に、0でない処理系もある。言語仕様上の意味としては普通「アドレス0(あるいは他のアドレス)を指し示すポインタ」ではなく、どこも指し示さないものとされる。 ヌルポインタを未初期化のポインタと混同してはならない。ヌルポインタは、あらゆる有効なオブジェクトとも異なることが保証されている。それに対し、言語や実装によっては、未初期化のポインタはそのような保証はなく、他のオブジェクトやヌルポインタと同じになる可能性がある。 ヌルポインタはヌル値とは意味が違う。ヌルポインタは多くのプログラミング言語において「値がない(no value)」ことを意味し、ヌル値はリレーショナルデータベースにおいて「未詳値(unknown value)」であることを意味する。ほとんどのプログラミング言語では2つのヌルポインタは等しいが、リレーショナルデータベースエンジンは2つのヌル値を等しいとはみなさない(それらは未詳値を表しているので、それらが等しいかどうかはわからない)。.

新しい!!: C++11とヌルポインタ · 続きを見る »

ヌル終端文字列

プログラミングにおいて、ヌル終端文字列(ヌルしゅうたんもじれつ、null-terminated string)とは、文字を配列に格納し、ヌル文字('\0'、ASCIIコードではNUL)でその終端(番兵)を表した文字列である。C言語等で用いられることからC文字列(C string)とも言い、ASCIIコードの後にゼロ(zero)があることからASCIIZとも呼ばれる。 ヌル終端文字列の長さは、文字列の先頭から見て最初のヌル文字を発見することでしかわからない。その計算量は文字列長に比列する(O(n))。また、ヌル文字そのものは文字列に含めることはできず、ヌル文字は終端に1つだけ存在する。.

新しい!!: C++11とヌル終端文字列 · 続きを見る »

トランスデューサー

トランスデューサー(変換器)は測定、情報転送を含む様々な目的のために、ある種類のエネルギーを別のものに変える装置で、通常電気的、電子的な素子または電気機械である。たとえばセンサのようにある物理量を電気信号に変える素子、機器などである。 広義では、トランスデューサーは1つの形態から別のものに信号を変えるあらゆる装置と定義される。.

新しい!!: C++11とトランスデューサー · 続きを見る »

プラットフォーム (コンピューティング)

プラットフォーム()とは、コンピュータにおいて、主に、オペレーティングシステム (OS) やハードウェアといった基礎部分を指す。 一般的なコンピューター・プログラム(アプリケーションソフトウェア)は、実行環境であるそれぞれのOSに依存し、Windows、macOS、Linuxなどの専用のプログラムとして動作する。さらに特定のハードウェアでしか動作しないプログラムもある(ネイティブコード)。例えば、PowerPCプロセッサ上のLinuxでは、PowerPCプロセッサ上のMac OS X用あるいはx86/x64プロセッサ上のLinux用のAdobe Readerは動作しない。 プラットフォーム非依存とは、それら特定のOS、ハードウェアに依存せずに動作するプログラムのこと。例えば、Javaは各プラットフォームにおいてJavaアプリケーションが動作する仮想のプラットフォームを実装することによって、プラットフォーム非依存を実現させている。ちょうど異なるプラットフォーム上に介在としてJavaプラットフォームという仮想化された共通プラットフォームがあり、共通プラットフォーム上でJavaアプリケーションが動作する。またプラットフォームの差異をミドルウェアで吸収し、複数のプラットフォームで動作するように設計したソフトウェアをクロスプラットフォームとよぶ。マイクロソフトの.NET FrameworkもJavaとよく似たアプリケーション開発・実行プラットフォームである。プログラムのソースコードを実行時に翻訳・解釈するスクリプト言語や動的プログラミング言語で書かれたソフトウェアもクロスプラットフォームであることが多い。.

新しい!!: C++11とプラットフォーム (コンピューティング) · 続きを見る »

プログラミングパラダイム

プログラミングパラダイム (programming paradigm)とは、プログラミングにおけるパラダイムである。.

新しい!!: C++11とプログラミングパラダイム · 続きを見る »

プログラミング言語

プログラミング言語(プログラミングげんご、programming language)とは、コンピュータプログラムを記述するための形式言語である。なお、コンピュータ以外にもプログラマブルなものがあることを考慮するならば、この記事で扱っている内容については、「コンピュータプログラミング言語」(computer programming language)に限定されている。.

新しい!!: C++11とプログラミング言語 · 続きを見る »

プログラミング言語年表

プログラミング言語年表(プログラミングげんごねんぴょう)とは、コンピュータプログラミング言語に関する年表である。個々の言語の詳細については、個別の記事にゆずる。.

新しい!!: C++11とプログラミング言語年表 · 続きを見る »

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

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

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

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

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

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

ベルヌーイ分布

ベルヌーイ分布(Bernoulli distribution)とは、数学において、確率 p で 1 を、確率 q.

新しい!!: C++11とベルヌーイ分布 · 続きを見る »

オープン標準

ープン標準(オープンひょうじゅん、Open standard)は、使用に当たっての各種権利を伴って公然と利用可能な標準である。 「オープン(open)」および「標準(standard)」という用語には様々な意味がある。「オープン」は使用料が徴収されない技術という意味に限定されることもある。「標準」は、全ての利害関係者が参加可能な委員会で合意を形成することで承認された技術という意味に限定されることもある。 「オープン標準」は定義によっては、特許権保有者がその標準の実装者やユーザーに「妥当かつ非差別的」なロイヤリティ料金や他のライセンス条項(いわゆるRANDライセンス)を課すことを許す。例えば、ITU、ISO、IEC といった国際的に認知されている主要な標準化団体が策定する標準では、実装に当たって特許料を徴収することを許している。しかし、欧州連合やデンマーク政府の定義によれば、無料で利用できるものをオープン標準としている。ライセンス料を徴収するなら、フリーソフトウェアやオープンソースソフトウェアでオープン標準を実装できないということにもなり、特許権を保有しない者にとっては差別的であるとの議論もある。しかし「オープン標準」の多くの定義では、料金を徴収しないことを前提とする場合が多い。 「オープン標準」は「オープンソース」と組み合わせて語られることが多く、完全なフリーかつオープンソースの実装が存在しない標準はオープン標準とは言えないという考え方もある。 フォーマットを指定するオープン標準をオープンフォーマットと呼ぶこともある。 単に標準と呼ばれる仕様の多くは、所有権者がいて、その仕様の所有権者である組織から与えられる制限された契約条件下でのみ利用可能である。そのような仕様は「オープン」とは見なされない。.

新しい!!: C++11とオープン標準 · 続きを見る »

オブジェクト指向プログラミング

ブジェクト指向プログラミング(オブジェクトしこうプログラミング、)は、コンピュータ・プログラミングのパラダイムのひとつで、オブジェクト指向の概念や手法を取り入れたものである。プログラムを、データとその振舞が結び付けられたオブジェクトの集まりとして構成する、などといった特徴がある。このパラダイムを指向しているプログラミング言語がオブジェクト指向プログラミング言語である。.

新しい!!: C++11とオブジェクト指向プログラミング · 続きを見る »

カウンター

ウンター、カウンタ(Counter).

新しい!!: C++11とカウンター · 続きを見る »

ガンマ分布

記載なし。

新しい!!: C++11とガンマ分布 · 続きを見る »

ガベージコレクション

ベージコレクション(garbage collection; GC)とは、プログラムが動的に確保したメモリ領域のうち、不要になった領域を自動的に解放する機能である。「ガベージコレクション」を直訳すれば「ゴミ集め」「ごみ拾い」となる。1959年ごろ、LISPにおける問題を解決するためジョン・マッカーシーによって発明された。 メモリの断片化を解消する機能はコンパクションと呼ばれ、実現方法によってはガベージコレクションと共にコンパクションも行う仕組みになっている。そのためコンパクションを含めてガベージコレクションと呼ぶ場合もあるが、厳密には区別される。 また、ガベージコレクションを行う主体はガベージコレクタと呼ばれる。ガベージコレクタはタスクやスレッドとして実装される場合が多い。 参照カウント方式のガベージコレクションは通常煩雑なコーディングを必要とするが、それを必要なく実装したライブラリとしがある。.

新しい!!: C++11とガベージコレクション · 続きを見る »

クロージャ

ージャ(クロージャー、closure)、関数閉包はプログラミング言語における関数オブジェクトの一種。いくつかの言語ではラムダ式や無名関数で実現している。引数以外の変数を実行時の環境ではなく、自身が定義された環境(静的スコープ)において解決することを特徴とする。関数とそれを評価する環境のペアであるともいえる。この概念は少なくとも1960年代のSECDマシンまで遡ることができる。まれに、関数ではなくとも、環境に紐付けられたデータ構造のことをクロージャと呼ぶ場合もある。クロージャをサポートした言語のコーディングでは、関数の中に関数を定義することができる。その際に、外側の関数で宣言された変数を内側の関数で操作することができる。主な利点としてはグローバル変数の削減が挙げられる。 典型的にはクロージャは、外側の関数(以下、エンクロージャ)の内側の関数リテラルや、ネストした関数定義によって必要になる。言語により、そのような内側の関数内に出現する自由変数(内側の関数の仮引数でもなく、内側の関数自身のローカル変数でもない変数)の扱いは異なるが、自由変数が、その呼び出しにおけるエンクロージャのその名前の変数を、レキシカルに参照するのがクロージャであり、実行時に外部の関数が実行された際、クロージャが形成される。クロージャは内部の関数のコードとエンクロージャのスコープ内の必要なすべての変数への参照からなる。 クロージャはプログラム内で環境を共有するための仕組みである。レキシカル変数はグローバルな名前空間を占有しないという点でグローバル変数とは異なっている。またオブジェクトのインスタンス変数とは、オブジェクトのインスタンスではなく関数の呼び出しに束縛されているという点で異なる。 クロージャは関数型言語では遅延評価やカプセル化のために、また高階関数の引数として広く用いられる。 例: クロージャを使ったカウンタの例を Scheme で示す。 (define (new-counter) (define c (new-counter)) (display (c)); 1 (display (c)); 2 (display (c)); 3 関数 new-counter の中でクロージャが使用されている。c に代入された無名関数は new-counter 内のローカル変数 count を参照している。c を呼び出すたびに count はインクリメントされていく。.

新しい!!: C++11とクロージャ · 続きを見る »

コンパイラ最適化

ンパイラ最適化(こんぱいらさいてきか、Compiler optimization)の記事では、コンピュータ・プログラムの最適化に関する話題のうち、もっぱらコンパイラに関係するものに関して説明する。最も一般的な要求はプログラムの実行時間を最小化することであり、その次に使用するメモリ量を最小化することである。また、携帯可能なコンピュータが増えるにつれて、消費電力を最小化するという最適化も生まれてきた。 一部のコード最適化問題はNP完全問題であることが示されている。実際には、プログラマがコンパイラによる最適化の完了を待てる時間の上限なども考慮してコンパイラ最適化を実装する(最適化はCPU時間とメモリを多大に使用する)。かつては、コンピュータのメモリ実装量も実行できる最適化を制限する要因だった。 コンパイラメーカによっては、「コンパイラの最適化の能力が売り上げや評判に大きく影響する」と信じている場合があり、そういう信念に従って「最適化コンパイラ」と銘打つことがある。少なくとも、同程度にバグが無いコンパイラ同士であれば、という前提の範囲内なら、最適化の能力が高いほうが魅力的と言えるであろう。.

新しい!!: C++11とコンパイラ最適化 · 続きを見る »

コンセプト (C++)

ンセプト()は、プログラミング言語の機能。かつてC++への採用が検討されていたが、見送られた。ISO/IEC JTC1/SC22/WG21 C++ 標準化委員会によるC++0xの策定において2009年前半まで検討され、規格書のドラフトにも盛り込まれていたが、2009年7月13日の投票で削除されることが決まった。.

新しい!!: C++11とコンセプト (C++) · 続きを見る »

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

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

新しい!!: C++11とジェネリックプログラミング · 続きを見る »

スレッド (コンピュータ)

レッド(thread)とは、CPU利用の単位。プロセスに比べて、プログラムを実行するときのコンテキスト情報が最小で済むので切り替えが速くなる。スレッドは、thread of execution(実行の脈絡)という言葉を省略したものである。 プログラミングの観点からみると、アプリケーションの処理の「実行の脈絡」は1つでないことが多い。これをシングルスレッドで実現しようとするとシグナルやタイマーを駆使してコーディングすることになる。また、複数のプロセスに分割してプロセス間通信で協調動作させるという方法もある。しかし、いずれの場合もそれらの機能を使うための余分な、本来のアルゴリズムと関係ないコーディングが必要となる。スレッドを使用したプログラミングは本来のアルゴリズムに集中しやすくなり、プログラムの構造が改善されるという効果がある。.

新しい!!: C++11とスレッド (コンピュータ) · 続きを見る »

スレッドセーフ

レッドセーフ(Thread-safe)は、マルチスレッドプログラミングにおける概念である。あるコードがスレッドセーフであるという場合、そのコードを複数のスレッドが同時並行的に実行しても問題が発生しないことを意味する。特に、ある共有データへの複数のスレッドによるアクセスがあるとき、一度に1つのスレッドのみがその共有データにアクセスするようにして安全性を確保しなければならない。 スレッドセーフはマルチスレッドプログラミングにおける重要な要素である。それは従来、オペレーティングシステムの開発者だけが考慮しなければならない問題だったが、1990年代後半には一般的な問題となった。マルチスレッドプログラムでは、複数のスレッドが同じアドレス空間内で同時に実行される。各スレッドのアクセスするメモリ領域が特に制限されることはなく、全スレッドが全アドレス空間にアクセスできる。従って、プログラムを見たときに予測される制御の流れやデータアクセスの順序は実際に実行時に起きることとかけ離れたものとなることが多い。これは「驚き最小の原則」に反している。スレッドセーフは実際の処理の流れとプログラムのソースコードの関連性を強化し、予期しない動作を最小にすることを指向した特性である。.

新しい!!: C++11とスレッドセーフ · 続きを見る »

動的メモリ確保

動的メモリ確保 (動的メモリアロケーション・動的メモリ割り当て・dynamic memory allocation) とは、メモリ管理のひとつである、プログラムを実行しながら、並行して必要なメモリ領域の確保と解放を行う仕組みである。 メモリの利用状況は、自身の実行状況や他のプログラムの実行状況に応じて常に変動するため、それらの動作に支障を来さぬよう必要なメモリ領域を適切なアドレスに対して臨機応変に確保・解放を行う必要がある。.

新しい!!: C++11と動的メモリ確保 · 続きを見る »

国際標準化機構

国際標準化機構(こくさいひょうじゅんかきこう、International Organization for Standardization)、略称 ISO(アイエスオー、イソ、アイソ)は、各国の国家標準化団体で構成される非政府組織である。 スイス・ジュネーヴに本部を置く、スイス民法による非営利法人である。1947年2月23日に設立された。国際的な標準である国際規格(IS: international standard)を策定している。 国際連合経済社会理事会に総合協議資格(general consultative status)を有する機関に認定された最初の組織の1つである。.

新しい!!: C++11と国際標準化機構 · 続きを見る »

B木

B木(びーき)は、コンピュータサイエンスにおけるデータ構造、特に木構造の一つ。ブロック単位のランダムアクセスが可能な補助記憶装置(ハードディスクドライブなど)上に木構造を実装するのに適した構造として知られる。 実システムでも多用されており、データベース管理システムの多くはB木による索引を実装している(B木の改良型または亜種であるB+木やB*木を使うことが多い)。.

新しい!!: C++11とB木 · 続きを見る »

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++11とC Sharp · 続きを見る »

C++

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

新しい!!: C++11とC++ · 続きを見る »

C++ Technical Report 1

C++ Technical Report 1 (TR1、Technical Report on C++ Library Extensions)は、ISO/IEC TR 19768:2007 の非公式名称で、標準C++ライブラリの拡張についての標準規格である。これには正規表現、スマートポインタ、ハッシュ表、擬似乱数生成器などが含まれている。TR1の目標は「拡張された標準C++ライブラリの使用方法について慣習を確立してほしい」とのことである。.

新しい!!: C++11とC++ Technical Report 1 · 続きを見る »

C++14

C++14 は、プログラミング言語 C++ のISO標準 ISO/IEC 14882:2014 の略称である。C++11 の後継であり、マイナーアップデートの位置付けとなっている。C++11 が2009年中の標準化を目指していたため C++0x と呼んでいたのを受けて、C++14 は制定中は C++1y という仮称で呼ばれていた。 委員会草案 N3690 が2013年5月15日に発表され、作業草案 N3936 が2014年3月2日に発表され、投票が2014年8月15日までに行われ、その結果が2014年8月18日に発表され承認され、2014年12月15日に出版された。.

新しい!!: C++11とC++14 · 続きを見る »

C言語

C言語(シーげんご)は、1972年にAT&Tベル研究所のデニス・リッチーが主体となって開発したプログラミング言語である。英語圏では単に C と呼んでおり、日本でも文書や文脈によっては同様に C と呼ぶことがある。.

新しい!!: C++11とC言語 · 続きを見る »

確率論

率論(かくりつろん、,, )とは、偶然現象に対して数学的な模型(モデル)を与え、解析する数学の一分野である。 もともとサイコロ賭博といった賭博の研究として始まった。現在でも保険や投資などの分野で基礎論として使われる。 なお、確率の計算を問題とする分野を指して「確率論」と呼ぶ用例もあるが、本稿では取り扱わない。.

新しい!!: C++11と確率論 · 続きを見る »

Extensible Markup Language

Extensible Markup Language(エクステンシブル マークアップ ランゲージ)は、基本的な構文規則を共通とすることで、任意の用途向けの言語に拡張することを容易としたことが特徴のマークアップ言語の総称である。一般的にXML(エックスエムエル)と略称で呼ばれる。JISによる訳語は「拡張可能なマーク付け言語」。 SGMLからの移行を目的として開発された。文法はSGMLの構文解析器と互換性を保つようにSGMLのサブセットに定められシンプルになり、機能はSGMLに無いものが追加されている。 XML の仕様は、World Wide Web Consortium (W3C) により策定・勧告されている。1998年2月に XML 1.0 が勧告された。2010年4月現在、XML 1.0 と XML 1.1 の2つのバージョンが勧告されている(#バージョン)。 ちなみに、「eXtensible Markup Language の略である」と書かれることがあるが、これは間違いであり、XはExの発音を表している。.

新しい!!: C++11とExtensible Markup Language · 続きを見る »

表明

表明(ひょうめい、assertion)とは、プログラミングにおける概念のひとつであり、そのプログラムの前提条件を示すのに使われる。アサーションとも呼ばれる。表明は、プログラムのその箇所で必ず真であるべき式の形式をとる。多くの言語ではそのような前提条件のチェックに表明を使用するが、設計上の判断を文書化するのに使う場合もある。表明が偽となった場合、プログラムにバグが潜在していることを示している。これを「表明違反; assertion failure」と呼ぶ。表明を言語構文や標準ライブラリとしてサポートするプログラミング言語も存在する。 プログラマは、開発過程でソースコードに表明を追加する。デバッグを単純化し、問題を早期に検出するためである。表明違反はバグを示していることが多いため、表明の実装では問題の元を示すために追加情報を表示するようになっていることが多い(ソースコードのファイル名と行番号、スタックトレースなど)。ほとんどの実装では、そのプログラムの実行が即座に停止する。.

新しい!!: C++11と表明 · 続きを見る »

記憶装置

GB SDRAM。一次記憶装置の例 GB ハードディスクドライブ(HDD)。コンピュータに接続すると二次記憶装置として機能する SDLT テープカートリッジ。オフライン・ストレージの例。自動テープライブラリで使う場合は、三次記憶装置に分類される 記憶装置(きおくそうち)は、コンピュータが処理すべきデジタルデータをある期間保持するのに使う、部品、装置、電子媒体の総称。「記憶」という語の一般的な意味にも対応する英語としてはメモリ(memory)である。記憶装置は「情報の記憶」を行う。他に「記憶装置」に相当する英語としてはストレージ デバイス(Storage Device)というものもある。.

新しい!!: C++11と記憶装置 · 続きを見る »

関数へのポインタ

関数へのポインタは、多くのプログラミング言語におけるポインタの一種である。関数へのポインタをデリファレンスすれば、そのポインタが指し示す関数(サブルーチン)を呼び出せる。関数へのポインタを使えば高階関数を作ることができる。 関数オブジェクトは、関数へのポインタに似ているが、コード領域中のエントリポイントを指す単なるポインタである関数へのポインタと違い、データ領域上に実体を持つオブジェクトであるという点が異なっている(実装の詳細は言語や処理系により異なるが)。そのため、関数オブジェクトはデータを保持でき、クロージャを再現することもできる。ゆえに、関数オブジェクトは、「関数へのポインタ」ではなく「関数」という型と値を持つようなものと言え、より強力である。 Javaなどでは、関数へのポインタを使用できないが、そのような言語では、メソッドを1つだけ持つインタフェースで同様のことを行える。また、C#やVisual Basic.NETなどといった.NET Framework用の言語には、デリゲートがある。 第一級オブジェクトとして関数を使用できる(第一級関数がある)言語では、関数も引数で渡したり、戻り値で返したり、他の関数から動的に作成したりできるなどデータ同様に扱えるため、関数へのポインタは必要とされない。.

新しい!!: C++11と関数へのポインタ · 続きを見る »

関数オブジェクト

関数オブジェクト(かんすうオブジェクト、function object)は、プログラミング言語において、関数(サブルーチンないしプロシージャ)を、オブジェクトとしたものである。手続きオブジェクトとも言う(プロシージャ=手続き)。なお、ここでのオブジェクトの語は、いわゆるオブジェクト指向のそれに限らず、「第一級オブジェクト」という語におけるのと同じ、メモリ上に空間を確保されたもの、といった意味である。関数が第一級オブジェクトである場合は特に第一級関数と言う。 関数と変数の名前空間が共通である言語の場合、構文の設計によっては、a.

新しい!!: C++11と関数オブジェクト · 続きを見る »

離散一様分布

離散一様分布(りさんいちようぶんぷ、discrete uniform distribution)は、確率論や統計学における離散型確率分布の一種であり、有限集合の全ての値について、等しく確からしい場合である。 確率変数が n 個の値 k_1,k_2,\dots,k_n を同じ確率でとりうるとき、離散一様分布と言える。任意の k_i の確率は 1/n である。離散一様分布の単純な例としてサイコロがある。その場合の k がとりうる値は 1, 2, 3, 4, 5, 6 で、1回サイコロを振ったとき、それぞれの値が出る確率は 1/6 である。2個のサイコロを振って和をとると、もはや一様分布ではなくなり、とりうる値(2 から 12)によって確率が変わってくる。 離散一様分布の確率変数がとりうる値が実数の場合、累積分布関数を退化分布を使って表すことができる。すなわち、 ここで、ヘヴィサイドの階段関数 H(x-x_0) は、x_0 を中心とする退化分布の累積分布関数 (CDF) である。この式は、各転移点で一貫した規定が使われると想定している。.

新しい!!: C++11と離散一様分布 · 続きを見る »

連続一様分布

連続一様分布(continuous uniform distribution)は、確率論や統計学における連続型確率分布の一種であり、分布上の同じ長さの区間が等しく確からしい場合である。台は2つの母数 a と b で定義され、それぞれ最小値と最大値である。この分布を U(a,b) と略記することが多い。.

新しい!!: C++11と連続一様分布 · 続きを見る »

Java

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

新しい!!: C++11とJava · 続きを見る »

RAII

RAII(Resource Acquisition Is Initialization、日本語では「リソースの確保は初期化時に」、「リソースの取得と初期化」など)は、資源(リソース)の確保と解放を、クラス型の変数の初期化と破棄処理に結び付けるというプログラミングのテクニックで、特にC++とD言語で一般的である。 RAIIでは、資源の取得をクラス型変数の構築(初期化)時、返却を破壊時に行う。自動変数がスコープを離れるときデストラクタが呼ばれるため、クラス型変数の寿命が終わるとすぐに資源が返却されることが保障できるようになった。これは例外が起こったときでも同様であるため、RAIIは例外安全なコードを書くための鍵となる概念となった (Sutter 1999)。.

新しい!!: C++11とRAII · 続きを見る »

Rand

randは、引き続く呼び出しが擬似乱数列を返すような関数に付けられる名前である。ランド、ランダムと呼ばれている。以下主に標準Cライブラリのそれについて説明する。.

新しい!!: C++11とRand · 続きを見る »

This (プログラミング)

thisは、プログラミング言語に出てくる概念のひとつで、自身の動いているオブジェクトを指す予約語。主にインスタンスメソッド内で使用される。thisの他にself、Meといった語を使う言語もあるが、言語を問わず概念は共通しているので、以下ではthisで代表させて記述することとする。.

新しい!!: C++11とThis (プログラミング) · 続きを見る »

Unicode

200px Unicode(ユニコード)は、符号化文字集合や文字符号化方式などを定めた、文字コードの業界規格である。文字集合(文字セット)が単一の大規模文字セットであること(「Uni」という名はそれに由来する)などが特徴である。 1980年代に、Starワークステーションの日本語化 (J-Star) などを行ったゼロックス社が提唱し、マイクロソフト、アップル、IBM、サン・マイクロシステムズ、ヒューレット・パッカード、ジャストシステムなどが参加するユニコードコンソーシアムにより作られた。1993年に、国際標準との一致が図られ、DIS 10646の当初案から大幅に変更されて、Unicodeと概ね相違点のいくつかはDIS 10646に由来する互換のISO/IEC 10646が制定された。.

新しい!!: C++11とUnicode · 続きを見る »

UTF-16

UTF-16 (UCS/Unicode Transformation Format 16) とは、UnicodeおよびISO/IEC 10646の、符号化形式および符号化スキーム(文字符号化方式を参照)のひとつである。UTFは、UnicodeではUnicode Transformation Formatの略、ISO/IEC 10646ではUCS Transformation Formatの略とされる。ISO/IEC 10646での正式名称はUCS Transformation Format for 16 Planes of Group 00である。Unicodeでは、UTF-16が正式名称である。 UTF-16では、1文字が、16ビットの符号単位が1つまたは2つで符号化される。これが「-16」の名の由来である。基本多言語面(BMP)内の文字は、符号単位1つの16ビットで表される(ビッグエンディアンならISO/IEC 10646のUCS-2と互換である)。BMP以外の文字は、符号単位2つの32ビットで表される。なお、UTF-16は2バイトコードだと誤解されることがあるが、このように4バイトのこともあるため間違いである。 Unicodeにおいては、厳密には、文字符号化形式(Character Encoding Form)の1つの名称であり、かつ、UTF-16符号化形式のための文字符号化スキーム(Character Encoding Scheme)の1つの名称でもある。UTF-16符号化形式のための文字符号化スキームには、UTF-16の他にUTF-16BE、UTF-16LEがある。.

新しい!!: C++11とUTF-16 · 続きを見る »

UTF-32

UTF-32(およびUCS-4、#歴史を参照)は、Unicodeの各符号位置に32ビット符号単位一つだけを使う、固定長のUnicodeの符号化形式及び符号化スキーム(文字符号化方式#文字符号化形式と文字符号化スキーム)である。他のUTF(Unicode transformation format)はすべて符号位置によって符号単位列の長さが変化する可変長であるため、UTF-32はもっとも単純なUTFであるとみなせる。 UTF-32は、テキストファイルで使用されることは少なく、主にシステムのメモリ上での管理や、符号位置の数で管理するデータベースなどで使用される。.

新しい!!: C++11とUTF-32 · 続きを見る »

UTF-8

UTF-8(ユーティーエフはち、ユーティーエフエイト)はISO/IEC 10646 (UCS) とUnicodeで使える8ビット符号単位の文字符号化形式及び文字符号化スキーム。 正式名称は、ISO/IEC 10646では “UCS Transformation Format 8”、Unicodeでは “Unicode Transformation Format-8” という。両者はISO/IEC 10646とUnicodeのコード重複範囲で互換性がある。RFCにも仕様がある。 2バイト目以降に「/」などのASCII文字が現れないように工夫されていることから、UTF-FSS (File System Safe) ともいわれる。旧名称はUTF-2。 UTF-8は、データ交換方式・ファイル形式として一般的に使われる傾向にある。 当初は、ベル研究所においてPlan 9で用いるエンコードとして、ロブ・パイクによる設計指針のもと、ケン・トンプソンによって考案された。.

新しい!!: C++11とUTF-8 · 続きを見る »

標準C++ライブラリ

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

新しい!!: C++11と標準C++ライブラリ · 続きを見る »

正規分布

率論や統計学で用いられる正規分布(せいきぶんぷ、normal distribution)またはガウス分布(Gaussian distribution)は、平均値の付近に集積するようなデータの分布を表した連続的な変数に関する確率分布である。中心極限定理により、独立な多数の因子の和として表される確率変数は正規分布に従う。このことにより正規分布は統計学や自然科学、社会科学の様々な場面で複雑な現象を簡単に表すモデルとして用いられている。たとえば実験における測定の誤差は正規分布に従って分布すると仮定され、不確かさの評価が計算されている。 また、正規分布の確率密度関数のフーリエ変換は再び正規分布の密度関数になることから、フーリエ解析および派生した様々な数学・物理の理論の体系において、正規分布は基本的な役割を果たしている。 確率変数 が1次元正規分布に従う場合、X \sim N(\mu, \sigma^) 、確率変数 が 次元正規分布に従う場合、X \sim N_n(\mu, \mathit) などと表記される。.

新しい!!: C++11と正規分布 · 続きを見る »

正規表現

正規表現(せいきひょうげん、regular expression)とは、文字列の集合を一つの文字列で表現する方法の一つである。正則表現(せいそくひょうげん)とも呼ばれ、形式言語理論の分野では比較的こちらの訳語の方が使われる。まれに正規式と呼ばれることもある。 もともと正規表現は形式言語理論において正規言語を表すための手段として導入された。形式言語理論では、形式言語が正規言語であることと正規表現によって表せることは同値である。 その後正規表現はテキストエディタ、ワードプロセッサなどのアプリケーションで(ないし、そもそもそれ以前に単機能の文字列探索ツールの)、マッチさせるべき対象を表すために使用されるようになり、表せるパターンの種類を増やすために本来の正規表現にはないさまざまな記法が新たに付け加えられた。このような拡張された正規表現には正規言語ではない文字列も表せるものも多く、ゆえに正規表現という名前は実態に即していない面もあるが、伝統的に正規表現と呼ばれ続けている。 この記事では主にこのような正規表現を用いたパターンマッチングについて説明している。以下、誤解のない限り、アプリケーションやプログラミングにおいて正規表現を用いた文字列のパターンマッチングを行う機能のことを、単に正規表現という。 ほとんどのプログラミング言語では、ライブラリによって正規表現を使うことができる他、一部の言語では正規表現のリテラルもある。「正規表現によるマッチ」を意味する(専用の)演算子がある言語なども一部ある。具体例として、grep、AWK、sed、Perl、Tcl、lexなどがある。 それぞれの言語やアプリケーションで細部の仕様が異なっている、といったように思われることも多いが(また、古い実装では実際にそういうことも多いが)、近年は同じライブラリを使っていれば同じということも多い。またPOSIXなど標準もある。.

新しい!!: C++11と正規表現 · 続きを見る »

指数分布

記載なし。

新しい!!: C++11と指数分布 · 続きを見る »

文字符号化方式

文字符号化方式(もじふごうかほうしき、character encoding scheme、CES)とは、符号化文字集合で文字に対応付けた非負整数値を、実際にコンピュータが利用できるデータ列(通常、バイト列)に変換する符号化方式。 文字符号化体系、文字符号化スキーム (character coding scheme) とも言う。文字について述べていることが明確なときは、単に符号化方式、またIBMの用語ではコード化体系 (encoding scheme) などとも言う。 この用語はUnicodeやIETFの標準などで用いているが、ISO/IECやJISの標準では用いず「符号化文字集合の構造」あるいは「'''文字符号の構造及び拡張法'''」として扱われている。この用語の定義は、世界の文字コード規格とは必ずしも合致しないことがある。.

新しい!!: C++11と文字符号化方式 · 続きを見る »

0

0 |- | Divisors || all numbers |- | Roman numeral || N/A |- | Arabic || style.

新しい!!: C++11と0 · 続きを見る »

1972年

協定世界時による計測では、この年は(閏年で)閏秒による秒の追加が年内に2度あり、過去最も長かった年である。.

新しい!!: C++11と1972年 · 続きを見る »

1995年

この項目では、国際的な視点に基づいた1995年について記載する。.

新しい!!: C++11と1995年 · 続きを見る »

1998年

この項目では、国際的な視点に基づいた1998年について記載する。.

新しい!!: C++11と1998年 · 続きを見る »

2005年

この項目では、国際的な視点に基づいた2005年について記載する。.

新しい!!: C++11と2005年 · 続きを見る »

ここにリダイレクトされます:

C++0xC++1x

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