タグ

ブックマーク / ufcpp.net (4)

  • メモリ管理 - コンピュータの基礎知識 | ++C++; // 未確認飛行 C

    概要 「仮想メモリ」があるからと言って、場当たり的にメモリ領域を使っていいわけではありません。 メモリ上の空き領域を効率的に管理するのもオペレーティング・システムやフレームワークの仕事です。 メモリ領域の管理手法には大きく分けて、スタックとヒープという2種類のものがあります。 スタック スタック(stack)とは、「積み上げる」、「堆積物」というような意味ですが、 その言葉通り、データ領域を積み上げていくような形で管理する方式です。 すなわち、最後に確保した領域を最初に開放します(上に積んで、上から降ろす)。 スタックによるメモリ管理の模式図を図1に示します。 プログラムで使うデータの多くは、あらかじめ決まっている短い範囲でのみ利用されます。 データの利用される範囲のことをスコープ(scope)と呼びます。 図中に示すように、一般に、スコープは入れ子になっていて、内側のスコープで使うデータ

    メモリ管理 - コンピュータの基礎知識 | ++C++; // 未確認飛行 C
    myzkkzy
    myzkkzy 2023/10/29
  • ソート概要

    まあ、結局の所、今現在世の中で使われているソートアルゴリズムの大半は、マージソートか「クイックソート」をベースにしたものです。 (基的にこの2つのソートを使い、途中から「挿入ソート」というソートに切り替えるという手法が有名。) ですが、そこに至るまでの道筋には先人達の試行錯誤があったわけで、 その試行錯誤の中で生まれ、現在に至るまでその名を残すアルゴリズムは結構な種類存在します。 そして、アルゴリズム入門書籍・ウェブサイトでは、 その手のソートアルゴリズムが必ずといっていいほど頻繁に取り上げられています。 これは、以下のような理由で、アルゴリズム入門として記事にしやすいからでしょう。 いろんな種類のアルゴリズムがある それぞれの特徴が分かりやすい・説明しやすい オーダーの違うアルゴリズムの圧倒的差を体感できる ということで、このページでも様々なソートアルゴリズムについて説明したいと思いま

    ソート概要
  • プロパティ

    概要 プロパティ(property:所有物、特性)とは、JavaC++にはない(Visual Basicにはある)機能で、 クラス外部から見るとメンバー変数のように振る舞い、 クラス内部から見るとメソッドのように振舞うものです。 JavaC++がこの機能を持ってないことからも分かると思いますが、 プロパティはオブジェクト指向言語に必須の機能ではありません。 しかし、これから説明していくように、あると便利なものです。 ポイント プロパティ: 中(実装側)からはメソッドのように扱え、外(利用側)からはメンバー変数のように見えるもの。 実装の隠蔽(カプセル化)の原則を崩すことなく、 アクセサー関数の煩雑さを解消。 プロパティとは 「実装の隠蔽」で、 メンバー変数はクラス外部から直接アクセス出来ないようにして、 オブジェクトの状態の変更はすべてメソッドを通して行うべきだと書きました。 これを忠

    プロパティ
    myzkkzy
    myzkkzy 2019/01/21
  • C# によるプログラミング入門 / ++C++;// 未確認飛行 C

    C# によるプログラミング入門です。C# 初心者の方はもちろん、これからプログラミングを始めようという方も対象としています。

    C# によるプログラミング入門 / ++C++;// 未確認飛行 C
    myzkkzy
    myzkkzy 2019/01/21
  • 1