C++11勉強会@大阪(ゆるめ)2014/12/20

2014/12/20 C++11勉強会@大阪(ゆるめ)のツイートまとめです
1
Fadis @fadis_

extern templates: テンプレートクラスのコンパイルをもうやらなくても他所でやってあるよということを明示する。有っても無くても解釈は同じになるが、コンパイル時間を短縮する為のヒントになる #cpposaka

2014-12-20 16:13:48
Fadis @fadis_

nullptr: 整数の0として解釈されることのないNULL #cpposaka

2014-12-20 16:17:18
Fadis @fadis_

C++11のconstexprの関数は この関数の引数が定数式だったら中身展開して丸ごと定数式扱いしてくれよ! っていう要求をするためのモンだよ。定数式を書ける場所は定数式でない式も書ける場所より多いからconstexprな関数にしておくと使える場所が増える #cpposaka

2014-12-20 16:30:39
Fadis @fadis_

inheriting constructors: using 基底::基底; で基底クラスの全てのコンストラクタと同じ型で、基底クラスに引数を丸投げするだけのコンストラクタを宣言したのと同じ状態になる #cpposaka

2014-12-20 16:32:03
Fadis @fadis_

ちなみにサフィックスである以上ユーザ定義リテラルには名前空間が使えない。面倒くさがらずに明示的にオブジェクトを生成していれば起こらなかった混乱が生じること間違い無しで悩ましい #cpposaka

2014-12-20 16:55:49
Fadis @fadis_

会場が17時までなので慌てて閉会の流れ #cpposaka

2014-12-20 16:59:21
Furutsuki @theoremoon

#cpposaka 参加してきました。知らないことがおもったいじょうにたくさんありまして、とても勉強になりました。

2014-12-20 17:31:11
Fadis @fadis_

会場で回答できなかったヤツを補足しておくと、unscopedなenum(classって付いてないenum)の列挙値は列挙型を定義した名前空間に並ぶけど、列挙型名::列挙値 の形でアクセスする事も出来る。これは§7.2[dcl.enum]の10項で定められている #cpposaka

2014-12-20 23:50:18
Fadis @fadis_

で、enumのunderlying type(裏方で使われる整数型)は列挙値全てを表現出来る何らかの整数型になり、全ての値を表現出来る整数型が存在しない場合そのenumはill-formedになる。 #cpposaka

2014-12-20 23:57:04
Fadis @fadis_

実際に使われる型が何になるかは実装に委ねられているが、要素が1つも無い場合は唯一0を要素として持つ場合と同じ型が選ばれる。 …というのが§7.2[dcl.enum]の6項で定められている。だから会場で挙ってたデフォルトintを期待するのはよろしくないアレやね #cpposaka

2014-12-20 23:58:47