パスワードを忘れた? アカウント作成

こちらは、bnezさんのユーザページですよ。 今週も投票をしましたか?

523280 journal

bnezの日記: [C++] ポリシクラス

日記 by bnez

使用者が複数の対象に同一の操作を行う状況を考える。操作に対する振る舞いが対象によって異なっているとき、この性質を多態性(polymorphism)という。C++は、動的多態性(dynamic polymorphism)と静的多態性(static polymorphism)の2つを扱う能力を備える。ポリシクラスは、静的多態性の実装手段のひとつである。

動的多態性は、実行時に解決される多態性である。C++では仮想関数が主な実装手段である。以下に例を示す。

class Base
{
public:
  virtual ~Base() throw() {}
  virtual void func() = 0;
};

449988 journal

bnezの日記: [Perl] ハッシュ内の値''を'-'に変更する方法

日記 by bnez

Perlのハッシュ内の値のうち、''を'-'に書き換える方法あれこれ。

お試し用プログラム。@FILLHERE@に中身を入れることで完全なPerlスクリプトになる。

#! /usr/bin/perl

use strict;
use warnings;
use integer;

# main
{
 my $h = { a => 'foo', b => '', c => 'bar' };
 @FILLHERE@
 print join(', ', map { $_ . ' => ' . $h->{$_} } sort keys %$h), "\n";
}
0;

581805 journal

bnezの日記: [C,C++] const と volatile

日記 by bnez

CおよびC++のconstとvolatileは,型やオブジェクトの宣言に付加することでその意味の一部を変更する修飾子である.両者をまとめてcv修飾子などと呼ぶ.

オブジェクトを修飾したときの以後の文脈あるいは言語実装系への指示は次の通り.

  • const
    そのオブジェクトへの代入を禁ずる.
  • volatile
    そのオブジェクトの値についての積極的な最適化を抑制する.

見方を変えれば,cv修飾子は次のようなオブジェクトに対して付加することができる,あるいは付加する必要がある,と考えるとよい.

  • const
    「私」が値を変更しないオブジェクト.
  • volatile
    「私以外の誰か」がその値の変化に関与しうるオブジェクト.
586890 journal

bnezの日記: [C++] delete this

日記 by bnez

C++話.delete this,すなわち「自殺するクラス」について.

delete thisという操作は,不正ではないが注意深く行う必要がある.

ごく単純なコードは次のようになる.

(1)

class A
{
public:
 void suicide() { delete this; }
};

suicideは自分自身を破壊するpublicな非静的メンバ関数で,自らの意志で自 殺する際に他のメンバ関数から呼ばれる.あるいは,オブジェクト自身の手で は自殺が行われない場合に,自殺を行わせるために外部から呼び出される.

417303 journal

bnezの日記: メモ: 長寿のコツは?

日記 by bnez

今日のNHKスペシャル「老化に挑む#2: 寿命はもっと延びる」より,長寿達成の方法を4つ.

  • 運動
    日々運動すること.有酸素運動でもそうでなくてもよい.運動を続けると,その結果は身体年齢(例えば筋力・骨密度・平衡感覚など)として現れる.
  • カロリー制限
    必要な栄養を維持しつつ摂取カロリーを制限すること.ただし低すぎてもだめ.基本代謝量と生活に必要なエネルギーの合計値が最適摂取カロリーの目安となるようだ.この具体的数値を知るには医療施設での測定が必要となるが,もっとわかりやすい基準として「若いときの体重を生涯維持する」というのが有効とのこと.ちなみに,よく考えれば当たり前だが成長期に行ってはならない.
  • ストレス耐性
    くよくよしないこと.
  • 生きがい
    仕事・趣味・娯楽など,生きがいとなるものあるいは目標を持つこと.
613423 journal

bnezの日記: 技術習熟度チェック

日記 by bnez
問いかけによる技術習熟度チェック.
以下の○○に習熟度をチェックしたい技術の名前を入れ,答える.
  1. ○○とは何ですか?
  2. ○○が得意なことは何ですか?
  3. ○○が不得意なことは何ですか?

誰にでもわかる平易な言葉で,簡潔に,的確に.
難解な用語を用いたなら,その用語に対しても同様のチェックを.

403776 journal
Linux

bnezの日記: 学習の3レベル

日記 by bnez
Alistair Cockburn著、「アジャイルソフトウェア開発」(原題: "Agile Software Development")を読んだ。ソフトウェア開発方法論に関する本だが、方法論の基礎をなす人間の性質やコミュニケーションなどのポイントをきちんと押さえてあり、各論それぞれについて見ても面白い本だと思う。

この本の冒頭に、「学習の3レベル」という話題がある。曰く、「新しいスキルを学習し習得する者は、従うレベル、取り外すレベル、流れるレベルの3レベルを経る」のだそうだ。3つのレベルの意味は以下の通り:

従うレベル(レベル1)は、新しいスキルに触れ始めた初期段階である。この段階では、成功するひとつの手順を学ぶ。必要とされるものはひとつだけの明解な指示であり、有効な教材は手順を列挙した分厚いマニュアルである。

取り外すレベル(レベル2)では、従うレベルで学んだ各手順の能力とその限界を知る。成功する手順が複数並んでいるときに、各々の性質を判断して適切なものを選択することを学ぶ。

typodupeerror

ナニゲにアレゲなのは、ナニゲなアレゲ -- アレゲ研究家

読み込み中...