翻訳と辞書
Words near each other
・ aspartame
・ aspartate aminotransferase
・ aspartate carbamoyltransferase
・ Aspartic acid
・ aspartic acid
・ aspartic protease
・ ASPCA
・ ASPD
・ aspect
・ aspect ratio
・ AspectC++
・ aspection
・ AspectJ
・ AspectR
・ Aspell
・ Aspen
・ aspen
・ aspergilloma
・ aspergillosis
・ Aspergillus


Dictionary Lists
翻訳と辞書 辞書検索 [ 開発暫定版 ]
スポンサード リンク

AspectC++ : ウィキペディア日本語版
AspectC++[あすぺくとしーぷらすぷらす]
AspectC++(アスペクトシープラスプラス)はC言語及びC++アスペクト指向プログラミングを実現するための機能拡張。AspectC++のソースコードをC++のソースコードに変換する。GNU GPLライセンスであるが、一部のMicrosoft Windows固有の機能についてはpure-systems社のみが提供している。
アスペクト指向プログラミングは横断的関心事をアスペクト(側面)として1つにモジュール化できる。アスペクトは既存のクラスを修正できるが、一般的には既存の機能の実行前か実行後などで動作する「アドバイス」を提供する。
たとえばあるAPIコールが呼び出されるタイミングを全てトレースしたい場合、コードのあちこちにcerrやprint文を挿入するのではなく、以下のように実装して1つのアスペクトを生成する。

aspect Tracer
;

上記のTracerアスペクトは%Iter::Resetが呼ばれる前にメッセージを出力する。%Iterという構文はIterの終わりで全てのクラスにマッチするという意味である。
ソースコード内でマッチした場所をジョインポイントと呼び、アドバイスはそのコードに挿入される。AspectC++はジョインポイントについての情報にアクセスするためのジョインポイントAPIがある。たとえば

JoinPoint::signature()

という関数は(%Iter::Resetにマッチした)これから呼び出されようとしているメソッド名を返す。
ジョインポイントAPIはまたアスペクト内で利用できるコンパイル時型情報を持ち、引数の方や値にアクセスしたり、メソッドや関数の戻り値の型や値にアクセスできる。
AspectC++ウェブサイト(下記外部)にドキュメントやチュートリアルがあるほか、AOSDカンファレンスの議事録にはAspect指向プログラミングとAspectC++に関する記事が掲載されている。
==外部リンク==

* AspectC++

抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)
ウィキペディアで「AspectC++」の詳細全文を読む




スポンサード リンク
翻訳と辞書 : 翻訳のためのインターネットリソース

Copyright(C) kotoba.ne.jp 1997-2016. All Rights Reserved.