関連ページの更新状況
← カテゴリ:C++
リンク元またはリンク先の変更を表示したいページ名を入力してください。("Category:カテゴリ名"と入力すると下位カテゴリを参照できます)。自分のウォッチリストにあるページの変更は太字で表示されます。
略語のリスト:
- デ
- ウィキデータの編集
- N
- ページの新規作成 (新しいページ一覧も参照)
- M
- 細部の編集
- ボ
- ボットによる編集
- (±123)
- ページサイズの増減 (バイト単位)
- 一時的にウォッチしているページ
2024年5月23日 (木)
- 差分履歴 C++/型推論 11:13 +46 Ef3 トーク 投稿記録 (→型推論とは何か?: {{See also|プログラミング/型推論}}) タグ: 2017年版ソースエディター
- 差分履歴 C++/構文の基礎 07:23 +500 Ef3 トーク 投稿記録 (→リテラル: ユーザーリテラル) タグ: 2017年版ソースエディター
- 差分履歴 C++ 06:59 −103 Ef3 トーク 投稿記録 (構文の基礎) タグ: 2017年版ソースエディター
- 差分履歴 N C++/構文の基礎 06:52 +44,886 Ef3 トーク 投稿記録 (init.) タグ: 2017年版ソースエディター
- 差分履歴 C++ 05:46 +438 Ef3 トーク 投稿記録 (→中級〜上級者むけの内容: * override <sup>(C++11:core)</sup> ⇒ /キーワード#override) タグ: 2017年版ソースエディター
- 差分履歴 N C++/三方比較演算子 05:45 +6,843 Ef3 トーク 投稿記録 (C++20で導入された比較演算子 <=> は、通称「三方比較演算子」や「宇宙船演算子」と呼ばれます。この演算子は、二つの値を比較して、それらの関係(小さい、大きい、等しい)を一度に示すことができる総称的な比較を行います。) タグ: 2017年版ソースエディター
- 差分履歴 N C++/テンプレートメタプログラミング 05:11 +30,059 Ef3 トーク 投稿記録 (→テンプレートメタプログラミングとは: テンプレートメタプログラミングとは、C++のテンプレートの機能を使って、コンパイル時にプログラムを実行するテクニックのことです。通常のプログラムはコンパイル時に機械語に変換されるだけですが、テンプレートメタプログラミングではコンパイル時に様々な計算や処理を行うことができます。) タグ: 2017年版ソースエディター
- 差分履歴 N C++/コンパイル時評価 04:42 +7,478 Ef3 トーク 投稿記録 (コンパイル時評価は、プログラムの実行前、つまりコンパイル時に特定の計算や処理を行う技術です。これは、実行時のパフォーマンス向上、バグの早期発見、コードの最適化に大きく寄与します。C++におけるコンパイル時評価は、言語の進化と共に多くの変遷を経てきました。本稿では、C++におけるコンパイル時評価の歴史とその進化を振り返りながら、その利点や実際の応用例について詳述します。) タグ: 2017年版ソースエディター
- 差分履歴 N C++/consteval 04:25 +5,353 Ef3 トーク 投稿記録 (C++20からconstevalキーワードが導入されました。constevalは、コンパイル時の定数式評価を行う関数やコンストラクタを定義するために使用します。constevalで定義された関数やコンストラクタは、コンパイル時に評価され、その結果がプログラムに組み込まれます。これにより、実行時のオーバーヘッドを回避でき、プログラムのパフォーマンスが向上する可能性があります。→constexprと constevalの違い: constexprは C++11 から導入されましたが、その機能には制限がありました。constexpr関数は、再帰呼び出しができず、コンストラクタを直接呼び出すこともできませんでした。これらの制限は、constexprの機能を限定的なものにしていました。 constevalは、これらの制限を解決するために導入されました。consteval関数は再帰呼び出しが可能で、コンストラクタも直接呼び出すことができます。これにより、より柔軟で表現力の高いメタプログラミングが可能になりました。) タグ: 2017年版ソースエディター
- 差分履歴 C++ 03:35 +150 Ef3 トーク 投稿記録 (→中級〜上級者むけの内容: * 特殊メンバー関数) タグ: 2017年版ソースエディター
- 差分履歴 N C++/純粋仮想関数 03:02 +2,933 Ef3 トーク 投稿記録 (→純粋仮想関数の概要: 純粋仮想関数とは、さらに具体的な実装を派生クラスに求める関数を指します。純粋仮想関数を1つでも含むクラスは抽象クラスと呼ばれ、そのままでは直接インスタンスを生成できません。抽象クラスの目的は、共通のインターフェースを定義することにあります。) タグ: 2017年版ソースエディター
- 差分履歴 N C++/final 02:47 +10,869 Ef3 トーク 投稿記録 (→finalキーワードの概要: C++11から導入された final キーワードは、クラス、メソッド、仮想メソッドに対して適用することができます。final が付与された要素は、それ以上継承やオーバーライドができなくなります。つまり、final キーワードは継承やオーバーライドを明示的に禁止する役割を持っています。 final キーワードを適切に使用することで、クラスの設計を固定化し、意図しない継承やオーバーライドを防ぐことができます。これにより、プログラムの予期せぬ振る舞いを防ぎ、保守性と安全性を高めることができます。) タグ: 2017年版ソースエディター
- 差分履歴 N C++/override 02:25 +4,917 Ef3 トーク 投稿記録 (→overrideキーワードの概要: C++11から導入されたoverride指定子は、派生クラスで基底クラスの仮想関数をオーバーライドする際に使用します。この指定子を関数定義に記述することで、その関数が確かに基底クラスの仮想関数をオーバーライドしていることをコンパイラに明示的に指示します。overrideキーワードの主な目的は、誤ったオーバーライドを防ぎ、コードの可読性とメンテナンス性を向上させることにあります。) タグ: 2017年版ソースエディター
- 差分履歴 C++ 01:20 −56 Ef3 トーク 投稿記録 (→中級〜上級者むけの内容: * RAII(Resource Acquisition Is Initialization)) タグ: 2017年版ソースエディター
- 差分履歴 N C++/RAII 01:19 +37,626 Ef3 トーク 投稿記録 (→RAIIの概要: RAII(Resource Acquisition Is Initialization)は、C++においてリソース管理を自動化するための重要なプログラミングパターンです。このパターンでは、リソースの獲得と解放をオブジェクトの生存期間に結びつけることで、リソースの適切な管理を実現します。RAIIは、プログラムの安全性と信頼性を向上させるだけでなく、コードの保守性や可読性も向上させる効果があります。 RAIIの原則は、オブジェクトのコンストラクタでリソースを獲得し、デストラクタでリソースを解放することです。オブジェクトが生成される際にリソースを確実に獲得し、オブジェクトが破棄される際にリソースを自動的に解放することで、メモリリークやリソースリークの可能性を排除します。このため、手動でリソースを管理する必要がなくなり、コードの安全性と信頼性が向上します。 RAIIの適用範囲は広く、動的メモリの管理からファイルハンドルやネットワーク接続などのリソース管理まで様々です。特に、スマートポインタを使用したメモリ管理は、RAIIの代表的な応用例の一つです。) タグ: 2017年版ソースエディター
- 差分履歴 C++ 00:33 −32 Ef3 トーク 投稿記録 (* コンテナ) タグ: 2017年版ソースエディター
- 差分履歴 N C++/コンテナ 00:33 +27,225 Ef3 トーク 投稿記録 (コンテナとは、複数の要素を格納するためのC++のデータ構造です。プログラミングにおいて、データを効率的に管理し、操作するためにコンテナは不可欠です。C++の標準ライブラリには、さまざまな種類のコンテナが含まれており、それらを適切に使いこなすことが重要です。) タグ: 2017年版ソースエディター
2024年5月22日 (水)
- 差分履歴 C++/フォールディング式 23:28 +886 Ef3 トーク 投稿記録 (左折り畳みを使ったパラメーターパックの要素の最大公約数を求める) タグ: 2017年版ソースエディター
- 差分履歴 N C++/スマートポインタ 06:36 +9,892 Ef3 トーク 投稿記録 (→スマートポインタとは: ポインタは C++ でメモリ管理を行う上で非常に重要な役割を果たしますが、その使い方を誤ると、メモリリークやダングリングポインタなどの深刻な問題を引き起こす可能性があります。このような問題を回避するために、スマートポインタが導入されました。 スマートポインタは、メモリ領域の自動的な割り当てと解放を行うクラステンプレートで、一般的なポインタよりも安全で便利です。効率的なメモリ管理を自動化することで、プログラマはリソース管理コードを書く手間が省け、コードの信頼性が向上します。 従来のリソース管理手法には、Reference Countingと Garbage Collection(GC)がありますが、スマートポインタはReference Countingの考え方を取り入れています。GCに比べてパフォーマンスコストが低く、決定論的な動作をするためです。) タグ: 2017年版ソースエディター
- 差分履歴 C++/ラムダ式 04:33 +181 Ef3 トーク 投稿記録 (→キャプチャリストの構文と利用法: 初期化キャプチャ) タグ: 2017年版ソースエディター
- 差分履歴 N C++/ムーブキャプチャ 04:23 +8,489 Ef3 トーク 投稿記録 (→はじめに: この章では、C++のラムダ式におけるムーブキャプチャの概念とその使い方について学びます。ムーブキャプチャは、リソース管理の効率化やパフォーマンス向上に寄与する重要な技術です。本章を通じて、ムーブキャプチャの基本から応用例までを理解し、実際のプログラムで活用できるようになることを目指します。) タグ: 2017年版ソースエディター
- 差分履歴 C++ 03:40 +96 Ef3 トーク 投稿記録 (* 名前修飾 * フォールディング式) タグ: 2017年版ソースエディター
- 差分履歴 N C++/フォールディング式 01:57 +2,921 Ef3 トーク 投稿記録 (C++17から導入されたフォールディング式(fold expressions)は、可変数のパラメーターパックを操作する際に非常に便利な機能です。この章では、フォールディング式の基本的な概念と、なぜこの機能が必要なのかについて説明します。) タグ: 2017年版ソースエディター
2024年5月21日 (火)
- 差分履歴 C++ 23:40 +33 Ef3 トーク 投稿記録 (→初心者むけの内容: * スコープ) タグ: 2017年版ソースエディター
- 差分履歴 N C++/スコープ 23:35 +12,007 Ef3 トーク 投稿記録 (→導入: →スコープとは何か?: プログラミングにおける「スコープ」とは、変数や関数が有効な範囲を定義する概念です。スコープは、変数や関数が宣言された場所によって決定され、それによってその変数や関数へのアクセス範囲が決まります。 →スコープがコード内でどのように機能するかの概要: スコープは、コード内で変数や関数がどのように見えるかを制御します。これにより、同じ名前の変数や関数が異なる場所で定義された場合でも、それぞれのスコープ内でのみアクセス可能であり、名前の衝突を避けることができます。) タグ: 2017年版ソースエディター
- 差分履歴 C++/ラムダ式 23:03 −1,278 Ef3 トーク 投稿記録 ({{Main|C++/構造化束縛}}) タグ: 2017年版ソースエディター
- 差分履歴 C++/ラムダ式 22:59 +52 Ef3 トーク 投稿記録 (→ラムダ式と関数オブジェクトの比較: {{See also|C++/標準ライブラリ/functional}}) タグ: 2017年版ソースエディター
- 差分履歴 C++/ラムダ式 22:54 −677 Ef3 トーク 投稿記録 (→ラムダ式を使った演算子のオーバーロード方法: 間違い) タグ: 2017年版ソースエディター
- 差分履歴 C++ 05:18 +180 Ef3 トーク 投稿記録 (→中級〜上級者むけの内容: * SFINAE: Substitution Failure Is Not An Error -- テンプレートの置換中に失敗が発生した場合に、エラーを生成せずに代替処理を行う。) タグ: 2017年版ソースエディター
- 差分履歴 N C++/SFINAE 05:18 +8,401 Ef3 トーク 投稿記録 (SFINAE (Substitution Failure Is Not An Error) は C++ の強力な機能の一つで、テンプレートとオーバーロード解決の過程で使われます。コンパイラが型パラメータを推論する際、特定の関数呼び出しが不適切な場合、その関数は無視(排除)されます。これにより、コンパイルエラーを回避して、より適切な関数を選択することができます。 SFINAEの動作原理は、テンプレートのパターンマッチングを利用しています。もしテンプレートの実体化に失敗すると、その実体はオーバーロード解決から外されます。つまり、エラーにはなりませんが、その実装は無視されます。) タグ: 2017年版ソースエディター
- 差分履歴 C++ 04:32 +51 Ef3 トーク 投稿記録 (→中級〜上級者むけの内容: * RTTI: Run-Time Type Information typeid) タグ: 2017年版ソースエディター
- 差分履歴 N C++/RTTI 04:32 +7,714 Ef3 トーク 投稿記録 (RUN-TIME TYPE INFORMATION(RTTI)はC++が提供する機能の1つで、実行時にオブジェクトの型情報を取得することができます。これにより、プログラムの実行中にオブジェクトの型を動的に検査し、適切な処理を行うことが可能になります。RTTIは以下のようなシーンで役立ちます。) タグ: 2017年版ソースエディター
- 差分履歴 C++ 01:36 −534 Ef3 トーク 投稿記録 (序文を構成の紹介を中心に) タグ: 2017年版ソースエディター
- 差分履歴 C++ 00:42 +471 Ef3 トーク 投稿記録 (→目次: 項目追加(執筆前)) タグ: 2017年版ソースエディター
- 差分履歴 C++ 00:19 +219 Ef3 トーク 投稿記録 (* ムーブセマンティクス) タグ: 2017年版ソースエディター
2024年5月20日 (月)
- 差分履歴 C++ 23:20 +27 Ef3 トーク 投稿記録 (→中級〜上級者むけの内容: * 不変性) タグ: 2017年版ソースエディター
- 差分履歴 N C++/不変性 23:20 +3,372 Ef3 トーク 投稿記録 (C++では、不変性(immutability)を実現するための機能がいくつかあります。ここでは、その主要な機能と、C++の歴史におけるこれらの機能の進化について説明します。) タグ: 2017年版ソースエディター
- 差分履歴 C++/キーワード 23:01 +705 Ef3 トーク 投稿記録 (constexprについて加筆) タグ: 2017年版ソースエディター
- 差分履歴 C++/キーワード 20:32 +1,716 Ef3 トーク 投稿記録 (→キーワード: 一覧(表項目へのリンク)) タグ: 2017年版ソースエディター
- 差分履歴 C++/キーワード 20:27 +944 Ef3 トーク 投稿記録 (constを加筆 s/`([^`]+)`/| || <syntaxhighlight lang=c++ inline>$1</syntaxhighlight>/) タグ: 2017年版ソースエディター
- 差分履歴 C++/アライメント 03:22 +1,853 Ef3 トーク 投稿記録 (→alignof: alignof 演算子は、指定された型のアライメント(メモリ上の配置)を取得するために使用されます。主に、特定の型がどのようなアライメント制約を持っているかを調べるために使われます。以下にいくつかの alignof の使用例を示します。) タグ: 2017年版ソースエディター
- 差分履歴 C++/キーワード 02:39 +13,042 Ef3 トーク 投稿記録 (キーワード一覧を表組み) タグ: 2017年版ソースエディター
2024年5月19日 (日)
- 差分履歴 C++ 23:56 +64 Ef3 トーク 投稿記録 (→目次: * 構造化束縛宣言 (C++17:core)) タグ: 2017年版ソースエディター
- 差分履歴 C++/構造化束縛宣言 23:54 +634 Ef3 トーク 投稿記録 (+コード例) タグ: 2017年版ソースエディター
- 差分履歴 N C++/構造化束縛宣言 23:18 +7,664 Ef3 トーク 投稿記録 (C++17で導入された構造化束縛宣言( Structured binding declaration )は、タプルや構造体、配列から複数の値を簡単に取り出す機能です。従来はタプルの要素にアクセスするためにstd::get<>()関数を使う必要がありましたが、構造化束縛宣言を使えばコードがよりシンプルになります。 この機能が導入された背景には、タプルや構造体から値を取り出す際の記述の簡潔化と、一時的なオブジェクトからの値の抽出の2点があげられます。) タグ: 2017年版ソースエディター
- 差分履歴 C++/クイックツアー 13:47 +55 Ef3 トーク 投稿記録 (後置型宣言) タグ: 2017年版ソースエディター
- 差分履歴 C++/クイックツアー 13:36 +1 Ef3 トーク 投稿記録 (→ループ: cleanup) タグ: 2017年版ソースエディター
- 差分履歴 C++/標準ライブラリ/ranges 07:52 +9 Ef3 トーク 投稿記録 ({{Nav}}) タグ: 2017年版ソースエディター
- 差分履歴 N C++/標準ライブラリ/ranges 07:51 +22,219 Ef3 トーク 投稿記録 (→はじめに: C++20から導入されたrangesライブラリは、コード記述の簡潔さと表現力を格段に向上させる新機能です。rangesライブラリでは、コンテナやイテレータなどの更に抽象化された概念として「範囲(range)」が導入されています。 範囲とは、始点と終点によって定義される任意の要素の集合を表すものです。 std::vectorや std::listなどの標準コンテナはもちろん、C言語スタイルの配列、独自に定義した反復可能な型など、あらゆる集合を範囲として扱うことができます。 従来のイテレータベースのアルゴリズムと比べ、rangesライブラリの利点は以下のようなものがあります: 簡潔な記述が可能 安全性が高い(範囲チェックなど) 合成性が高い(独自の範囲の作成が容易) 遅延実行によるパフォーマンス向上) タグ: 2017年版ソースエディター
- 差分履歴 C++/制御構造 05:14 +3,013 Ef3 トーク 投稿記録 (→ネストしたif文: {{コラム|懸垂else問題}}) タグ: 2017年版ソースエディター