デフォルト引数 2019.06.13 長谷川啓.

Slides:



Advertisements
Similar presentations
独習JAVA Chapter 6 6.6 クラスの修飾子 6.7 変数の修飾子 結城 隆. 6.6 クラスの修飾 abstract インスタンス化できないクラス。1つまたは複数のサブクラスで 実装してはじめてインスタンス化できる。 final 継承されたくないことを明示する。これ以上機能拡張 / 変更でき.
Advertisements

Linux Device Driver 輪講 Che++. 第 6 章 キャラクタ型ドライバの高度な 機 第 1 回 (全 2 回)
プログラミング演習 II 2005 年 1 月 19 日(第 9 回) 理学部数学科・木村巌. 前回までの復習 共用体( union type ) 共用体( union type ) 列挙 (enumerated type ) 列挙 (enumerated type ) 構造体、構造体のポインタ、
Tt_clown ( 津川 知朗) 俺 Tokenizer を作る ~ Boost.Tokenizer のカスタマイズ~ 2009/12/121 Boost 勉強会.
わんくま同盟 横浜勉強会 #1 - C++ Day Boost とその実装技術 ~ Boost の薄い話から濃い話まで~
Region-based Memory Management in Cyclone について 発表者 : 前田俊行.
Remote Method Invocation
Relation Mapping EJB 3.0 コース 第9回 2006年8月6日.
Javaのための暗黙的に型定義される構造体
情報工学概論 (アルゴリズムとデータ構造)
アルゴリズムとデータ構造 2011年6月13日
構造体.
プログラミング言語論 第10回 オブジェクト指向 情報工学科 篠埜 功.
2006/11/16 山下 諒蔵 佐藤 春旗 前田 俊行 大山 恵弘 佐藤 秀明 住井 英二郎
プログラミング演習II 2004年12月 21日(第8回) 理学部数学科・木村巌.
Linuxカーネルについて 2014/01.
演習問題の答え #include #include #define NUM 5 typedef struct { // 構造体の定義 float shincho; // 身長 float taiju; // 体重 } shintai; void hyouji(shintai.
アルゴリズムとデータ構造 2011年6月20日
データ構造と アルゴリズム 第四回 知能情報学部 新田直也.
Flyingware : バイトコード変換による 安全なエージェントの実行
第13回 ハッシュテーブルを使ったプログラム ~高速に検索するには?~.
補足説明.
J2SE 5.0(Tiger)の新機能 言語編 Ariel Networks 開発部 中山 淳.
細かい粒度でコードの再利用を可能とするメソッド内メソッドのJava言語への導入
細かい粒度で コードの再利用を可能とする メソッド内メソッドと その効率の良い実装方法の提案
第9章 例外処理,パッケージ 9.1 例外処理 9.2 ガーベッジコレクション.
独習JAVA 6.8 コンストラクタの修飾子 6.9 メソッドの修飾子 6.10 ObjectクラスとClassクラス 11月28日(金)
東京工科大学 コンピュータサイエンス学部 亀田弘之
暗黙的に型付けされる構造体の Java言語への導入
ローカル変数とグローバル変数 ローカル変数  定義された関数内だけで使用できる変数 グローバル変数 プログラム全体で使用できる変数.
アルゴリズムとプログラミング (Algorithms and Programming)
ソフトウェア制作論 平成30年10月3日.
「Webデータベースの構築技術」正誤表 ページ 項目 誤記 訂正 18 表1.4 アクセス 権限の削除 ・・・テーブル名 TO ユーザ名
プログラミング言語論 第12回 オブジェクト指向 情報工学科 篠埜 功.
プログラミング言語論 第13回 オブジェクト指向 情報工学科 篠埜 功.
Null ヤバイのでなんとかする takeshik.
Null ヤバイのでなんとかする takeshik.
Java8について 2014/03/07.
オブジェクト指向言語論 第八回 知能情報学部 新田直也.
一時的な型 長谷川啓
2005年度 データ構造とアルゴリズム 第6回 「ハッシュ法を用いた探索」
オブジェクト指向 プログラミング 第六回 知能情報学部 新田直也.
フロントエンドとバックエンドのインターフェース
型の compatibility とポインタ演算
記号表の検索と登録 長谷川啓
構造体と共用体.
アルゴリズムとプログラミング (Algorithms and Programming)
C++ 構文解析 構文解析器の状態保存と復元
参照されないリテラル 長谷川啓
オブジェクト指向 プログラミング 第六回 知能情報学部 新田直也.
アルゴリズムとデータ構造 2012年6月11日
Annotation EJB 3.0 コース 第3回 2006年8月4日.
統合開発環境のための プログラミング言語拡張 フレームワーク
オブジェクト指向言語論 第十一回 知能情報学部 新田直也.
ドキュメントジェネレータ 詳細仕様 長谷川啓
オブジェクト指向言語論 第九回 知能情報学部 新田直也.
X64 函数呼び出し規約 長谷川啓
アルゴリズムとデータ構造 2012年6月21日
Inline 展開のアルゴリズム 長谷川啓
フレンド関数とフレンド演算子.
演算子のオーバーロード.
Tacsim の実装 - 実行部分 長谷川啓
:: の扱い 長谷川啓.
オブジェクト指向言語論 第六回 知能情報学部 新田直也.
ドキュメントジェネレータ doclink 設計メモ
オブジェクト指向 プログラミング 第六回 知能情報学部 新田直也.
値渡しと参照渡しについて.
オブジェクト指向言語論 第九回 知能情報学部 新田直也.
プログラミング演習II 2003年10月29日(第2,3回) 木村巌.
俺 Tokenizer を作る ~Boost.Tokenizer のカスタマイズ~
Presentation transcript:

デフォルト引数 2019.06.13 長谷川啓

型の概念とは異なる 以下はエラー よって以下の実装は間違い typedef void FUNC(int = 1); void (*pf)(int = 2); ISO/IEC 14882 8.3.6 Default arguments 参照 よって以下の実装は間違い class default_arg_type : public type { const type* m_T; var* m_default_arg; // デフォルト引数 ... };

実装例 struct usr : var { enum flag_t { ..., HAS_DEFAULT_ARG, ... }; flag_t m_flag; }; map<usr*, vector<var*> > default_arg_table; 函数をキーにしてデフォルト引数を保持するテーブル usr* u = ... usr::flag_t flag = u->m_flag; if (flag & usr::HAS_DEFAULT_ARG) { p = default_arg_table.find(u); vecotr<var*>& v = p->second; ... }