2022-01-01から1ヶ月間の記事一覧

【C++】プリコンパイル済みヘッダ

ライブラリ作成時にエラー ライブラリを作成中に以下のコンパイルエラーが発生した。 C1010:プリコンパイルヘッダーを検索中に不明なEOFが見つかりました。'#include pch.h'をソースに追加しましたか? ttkcd.hatenablog.com pch.h プリコンパイル済みヘッ…

【C++】ライブラリとリンク

ライブラリ 複数の機能をまとめた部品 静的リンク プログラムを動かす際に、ライブラリ内のルーチンを実行可能プログラムに含める方法これに対応したライブラリが静的リンクライブラリ 動的リンク プログラムの実行時に、メモリ上でリンクを行う方法これに対…

【C++】リンカー

リンカー 関数や変数は、宣言(declaration)と定義(definition)することが出来る。 宣言(declaration) 型の情報や名前などのシンボルの概要をコンパイラに伝える。以下のような関数を宣言すると、コンパイラにMyPrint(symbol)という関数が存在する(fun…

【C++】実行までの流れ

実行ファイルの作成 テキストファイル C++の文法に従って、人間が分かるように書かれたテキストファイル(拡張子がcpp)。Javaとは異なり、クラス名とファイル名が違っても良い。 プリプロセス プリプロセッサがプリプロセスステートメントの加工を行う。代…

【C#】Enumerable.OfType<TResult>(IEnumerable) メソッド

OfType<TResult> 配列やリストなどのシーケンス内に、指定した型に変換できる要素を取得する。 public static IEnumerable<TResult> OfType<TResult>(this IEnumerable source) { if (source == null) throw Error.ArgumentNumm("source"); return OfTypeIterator<TResult>(source); } static IEn</tresult></tresult></tresult></tresult>…

【C#】IEnumerable<T>インタフェースの実装

IEnumerable<T>インタフェースの実装 ttkcd.hatenablog.com に記載の通り、IEnumerable<T>インタフェースは抽象メソッドGetEnumerator()を持っているため、IEnumerable<T>インタフェースを実装する際には、GetEnumerator()を実装する必要がある。また、IEnumerator<T>を</t></t></t></t>…

【C#】IEnumerable<T>

IEnumerable<T>インタフェース ジェネリックコレクション(System.Collections.Generic)に対する単純な反復処理をサポートする列挙子を公開する。IEnumerator<T>インタフェースを返す抽象メソッドGetEnumerator()を持つ。 ttkcd.hatenablog.com</t></t>

【C#】IEnumerableインタフェースの実装

IEnumerableインタフェースの実装 ttkcd.hatenablog.com に記載の通り、IEnumerableインタフェースは抽象メソッドGetEnumerator()を持っているため、IEnumerableインタフェースを実装する際には、GetEnumerator()を実装する必要がある。 internal class MyCo…

【C#】yieldキーワード

yieldキーワード C#2.0で追加されたIEnumerableまたはIEnumeratorをより直感的に作成できる仕組み。 ttkcd.hatenablog.com yield return文 以下のように使用する。 yield return expression; // expressionにはイテレータの要素を指定 yield return文の評価…

【C#】IEnumerable

IEnumerableインタフェース 非ジェネリックコレクション(System.Collections)に対する単純な反復処理をサポートする列挙子を公開する。IEnumeratorインタフェースを返す抽象メソッドGetEnumerator()を持つ。 IEnumeratorインタフェース 反復処理をサポートす…