SlideShare uma empresa Scribd logo
1 de 24
Boost.勉強会 #8 大阪 ( 2012-02-11 )

C++ TIPS 3 カンマ演算子編
概要
 主に cppll ML でご紹介してきた tips をC++
 の仕様をより掘り下げた形でまとめ直し
 てみました。
 今回はカンマ演算子にフォーカスした内
  容です。


               C++ Tips Boost.勉強会 #8 大阪   2
C++ Tips

カンマ演算子
カンマ演算子ってなに?
 セミコロン(;)が文の区切りとして使える
 ように、カンマ(,)が文節として使えます。
  日本語文章で例えると「;」が「 。 」に対応
 するのに対して「,」は「、」に対応してい
 ます。
 この用法で使われるカンマはカンマ演算
 子と呼ばれます。
            C++ Tips Boost.勉強会 #8 大阪   4
カンマ演算子ってなに?
 関数呼び出しのカンマや初期化ブロック
  内のカンマ区切りはカンマ演算子ではあ
  りません。
 関数呼び出しのカンマ区切りと違って評
  価順は左側の項目が先と決まってます。
 カンマ演算子はもっとも優先順位の低い
  演算子となります。
         C++ Tips Boost.勉強会 #8 大阪   5
カンマ演算子の動き
int a() { puts("a"); return 1; }                  ■実行結果
int b() { puts("b"); return 2; }                  a
int c() { puts("c"); return 4; }                  b
void func() {                                     c
  int x = (a(),b(),c());                          4
  printf("%dn",x);
}
  左から順に評価され最も右側の値が式の評価値となり
   ます。( オーバーロードされていない場合 )
                       C++ Tips Boost.勉強会 #8 大阪           6
余談というか落とし穴
int x = (a(),b(),c());
…のつもりで…
int x = a(),b(),c();
…と書くとカンマ演算子ではなく、宣言のカンマ区切り
だとコンパイラに解釈され…
int x = a(); // a() を実行して x に初期値にする。
int b(); // 戻り型が int の関数 b() の宣言。
int c(); // 戻り型が int の関数 c() の宣言。
…の意味になってしまいます。
                C++ Tips Boost.勉強会 #8 大阪   7
使用例:if
if (a(),b(),c()) // c()結果で分岐
{ ... }
else
if (d(),e(),f()) // f()結果で分岐
{ ... }
else
if (g(),h(),i()) // i()結果で分岐
{ ... }
else
{ ... }                C++ Tips Boost.勉強会 #8 大阪   8
使用例:if
if (x=a(),b(x),c()) // c()の結果で分岐
{ ... }
else
if (d(),e=x+i,f(e)) // f(e)の結果で分岐
{ ... }
else
if (g(),i=h(),i++) // i++の結果で分岐
{ ... }
else
{ ... }                C++ Tips Boost.勉強会 #8 大阪   9
使用例:switch
if (a(),b(),c()) // c()の結果で分岐
{ ... }
else
switch(d(),e(),f()) // f()の結果で分岐
{
case 0:
  ...
default:
  ...
}                      C++ Tips Boost.勉強会 #8 大阪   10
使用例:while,do/while
while(a(),b(),c()) // c()の結果で分岐
{ ... }

do
{ ... }
while(d(),e(),f()); // f()の結果で分岐



                   C++ Tips Boost.勉強会 #8 大阪   11
使用例:for
for(int i=0,j=0; a(i),b(j); c(&i),d(&j))
{ ... } // b()の結果で分岐

※最初のカンマはカンマ演算子ではなく宣言のカンマ区
切りとなります。




                       C++ Tips Boost.勉強会 #8 大阪   12
使用例:引数
x((a(),b(),c()), (d(),e(),f()), (g(),h(),i()));


 この場合、( )各グループ内では… a()→b()→c()、
  d()→e()→f()、 g()→h()→i() …の順で実行されます
  が、abc、def、ghiの各グループの実行される順番は処理
  系依存となる為、処理系によって abc→def→ghi だった
  り ghi→def→abc だったりします。
    この順番は通常、関数の引数がどのような順番でスタック
    に積まれるか依存します。

                       C++ Tips Boost.勉強会 #8 大阪   13
使用例:|| と && 組み合わせて
(
  (a(),b(),c()) ||
  (d(),e(),f()) // c()がfalseの場合に実行
) && (g(),h(),i()); // c()||f()がtrueの場合に実行




                    C++ Tips Boost.勉強会 #8 大阪   14
\ ヒャッハー! /
int x = (
  (++i,y=a(),b(y),c(i)) ||
  (++i,y=d(),e(i),z=f(y,i) ? g(): h())
) && (
 (++i,y=a(),b(y),c(i)) ||
 (++i,y=d(),e(i),y<=f(y,i))
);



                       C++ Tips Boost.勉強会 #8 大阪   15
スタック領域の圧迫について
 カンマ演算子を多用して頑張ると一文で
結構な量のコードが書けてしまうのです
が、あんまり調子扱いてると一時変数の
量が膨大になってスタック領域を圧迫し
状況によってはスタックオーバーフロー
を招くことにもなりかねない観点からも
ほどほどに。
         C++ Tips Boost.勉強会 #8 大阪   16
インラインロック
 カンマ演算子は左側の項目から評価され
るという事と、一時オブジェクトの寿命
は文の終了時までという事を利用し、コ
ンストラクタでロック、デスクトラクタ
でアンロックを行うクラスを用意してお
けばインラインでの手軽なロック/アン
ロックができます。
         C++ Tips Boost.勉強会 #8 大阪   17
インラインロック
auto_lock(),func();

  ■実行される順番
  1.auto_lock::auto_lock()
  2.func()
  3.auto_lock::~auto_lock()



                      C++ Tips Boost.勉強会 #8 大阪   18
インラインロック
if (auto_lock(),func()) { func2(); }

  ■実行される順番
  1.auto_lock::auto_lock()
  2.func()
  3.auto_lock::~auto_lock()
  4.func2() →func()がtrueの場合にのみ実行される。


                     C++ Tips Boost.勉強会 #8 大阪   19
オーバーロード
 カンマ演算子はオーバーロードしてその
挙動をユーザー定義することも可能です。
 inline hoge operator,(hoge a, hoge b) {
   return a; // b の代わりに a を返す。
 }



                   C++ Tips Boost.勉強会 #8 大阪   20
初期化リスト代わり
 カンマ演算子のオーバーロードを頑張れ
ばC++11の初期化リストの代わりになるよ
うな類いのもの実装可能です。




         C++ Tips Boost.勉強会 #8 大阪   21
オーバーロード 注意点
 その他演算子オーバーロード違い、カンマ演算子の
  オーバーロードは見た目からはオーバーロードされて
  いることが予測し辛い為、容易くメンテナンス性の悪
  いコードになってしまいますので、乱用は厳禁です。
 C++03時代であればまだ初期化リスト代わりの用途とし
  てカンマ演算子のオーバーロードが有効なシーンも
  あったもののC++11では素直に初期化リストを使ったほ
  うがいいです。
 さらにC++03でも昔のコンパイラではカンマ演算子の
  オーバーロードまわりはコンパイラの挙動がバギーで
  使い物にならなかったり・・・
             C++ Tips Boost.勉強会 #8 大阪   22
C++ Tips

質疑応答
C++ Tips

ご清聴ありがとうございました。

Mais conteúdo relacionado

Mais procurados

PHP の GC の話
PHP の GC の話PHP の GC の話
PHP の GC の話y-uti
 
高速な倍精度指数関数expの実装
高速な倍精度指数関数expの実装高速な倍精度指数関数expの実装
高速な倍精度指数関数expの実装MITSUNARI Shigeo
 
C++ マルチスレッドプログラミング
C++ マルチスレッドプログラミングC++ マルチスレッドプログラミング
C++ マルチスレッドプログラミングKohsuke Yuasa
 
C++コミュニティーの中心でC++をDISる
C++コミュニティーの中心でC++をDISるC++コミュニティーの中心でC++をDISる
C++コミュニティーの中心でC++をDISるHideyuki Tanaka
 
メタプログラミングって何だろう
メタプログラミングって何だろうメタプログラミングって何だろう
メタプログラミングって何だろうKota Mizushima
 
プログラミングコンテストでの動的計画法
プログラミングコンテストでの動的計画法プログラミングコンテストでの動的計画法
プログラミングコンテストでの動的計画法Takuya Akiba
 
競技プログラミングのためのC++入門
競技プログラミングのためのC++入門競技プログラミングのためのC++入門
競技プログラミングのためのC++入門natrium11321
 
組み込みでこそC++を使う10の理由
組み込みでこそC++を使う10の理由組み込みでこそC++を使う10の理由
組み込みでこそC++を使う10の理由kikairoya
 
すごい constexpr たのしくレイトレ!
すごい constexpr たのしくレイトレ!すごい constexpr たのしくレイトレ!
すごい constexpr たのしくレイトレ!Genya Murakami
 
Constexpr 中3女子テクニック
Constexpr 中3女子テクニックConstexpr 中3女子テクニック
Constexpr 中3女子テクニックGenya Murakami
 
関数プログラミング入門
関数プログラミング入門関数プログラミング入門
関数プログラミング入門Hideyuki Tanaka
 
不遇の標準ライブラリ - valarray
不遇の標準ライブラリ - valarray不遇の標準ライブラリ - valarray
不遇の標準ライブラリ - valarrayRyosuke839
 
Quine・難解プログラミングについて
Quine・難解プログラミングについてQuine・難解プログラミングについて
Quine・難解プログラミングについてmametter
 
RSA暗号運用でやってはいけない n のこと #ssmjp
RSA暗号運用でやってはいけない n のこと #ssmjpRSA暗号運用でやってはいけない n のこと #ssmjp
RSA暗号運用でやってはいけない n のこと #ssmjpsonickun
 
NVIDIA GPUで作るHeadless X11 Linux
NVIDIA GPUで作るHeadless X11 LinuxNVIDIA GPUで作るHeadless X11 Linux
NVIDIA GPUで作るHeadless X11 LinuxTomoki SHISHIKURA
 
圏論のモナドとHaskellのモナド
圏論のモナドとHaskellのモナド圏論のモナドとHaskellのモナド
圏論のモナドとHaskellのモナドYoshihiro Mizoguchi
 
ゲームアプリの数学@GREE GameDevelopers' Meetup
ゲームアプリの数学@GREE GameDevelopers' Meetupゲームアプリの数学@GREE GameDevelopers' Meetup
ゲームアプリの数学@GREE GameDevelopers' Meetupgree_tech
 

Mais procurados (20)

PHP の GC の話
PHP の GC の話PHP の GC の話
PHP の GC の話
 
高速な倍精度指数関数expの実装
高速な倍精度指数関数expの実装高速な倍精度指数関数expの実装
高速な倍精度指数関数expの実装
 
C++ マルチスレッドプログラミング
C++ マルチスレッドプログラミングC++ マルチスレッドプログラミング
C++ マルチスレッドプログラミング
 
C++コミュニティーの中心でC++をDISる
C++コミュニティーの中心でC++をDISるC++コミュニティーの中心でC++をDISる
C++コミュニティーの中心でC++をDISる
 
メタプログラミングって何だろう
メタプログラミングって何だろうメタプログラミングって何だろう
メタプログラミングって何だろう
 
プログラミングコンテストでの動的計画法
プログラミングコンテストでの動的計画法プログラミングコンテストでの動的計画法
プログラミングコンテストでの動的計画法
 
競技プログラミングのためのC++入門
競技プログラミングのためのC++入門競技プログラミングのためのC++入門
競技プログラミングのためのC++入門
 
組み込みでこそC++を使う10の理由
組み込みでこそC++を使う10の理由組み込みでこそC++を使う10の理由
組み込みでこそC++を使う10の理由
 
Topological sort
Topological sortTopological sort
Topological sort
 
llvm入門
llvm入門llvm入門
llvm入門
 
C++ マルチスレッド 入門
C++ マルチスレッド 入門C++ マルチスレッド 入門
C++ マルチスレッド 入門
 
すごい constexpr たのしくレイトレ!
すごい constexpr たのしくレイトレ!すごい constexpr たのしくレイトレ!
すごい constexpr たのしくレイトレ!
 
Constexpr 中3女子テクニック
Constexpr 中3女子テクニックConstexpr 中3女子テクニック
Constexpr 中3女子テクニック
 
関数プログラミング入門
関数プログラミング入門関数プログラミング入門
関数プログラミング入門
 
不遇の標準ライブラリ - valarray
不遇の標準ライブラリ - valarray不遇の標準ライブラリ - valarray
不遇の標準ライブラリ - valarray
 
Quine・難解プログラミングについて
Quine・難解プログラミングについてQuine・難解プログラミングについて
Quine・難解プログラミングについて
 
RSA暗号運用でやってはいけない n のこと #ssmjp
RSA暗号運用でやってはいけない n のこと #ssmjpRSA暗号運用でやってはいけない n のこと #ssmjp
RSA暗号運用でやってはいけない n のこと #ssmjp
 
NVIDIA GPUで作るHeadless X11 Linux
NVIDIA GPUで作るHeadless X11 LinuxNVIDIA GPUで作るHeadless X11 Linux
NVIDIA GPUで作るHeadless X11 Linux
 
圏論のモナドとHaskellのモナド
圏論のモナドとHaskellのモナド圏論のモナドとHaskellのモナド
圏論のモナドとHaskellのモナド
 
ゲームアプリの数学@GREE GameDevelopers' Meetup
ゲームアプリの数学@GREE GameDevelopers' Meetupゲームアプリの数学@GREE GameDevelopers' Meetup
ゲームアプリの数学@GREE GameDevelopers' Meetup
 

Destaque

C++ tips2 インクリメント編
C++ tips2 インクリメント編C++ tips2 インクリメント編
C++ tips2 インクリメント編道化師 堂華
 
大学でC++03を教わった私が、便利そうだと思ったC++11の新機能
大学でC++03を教わった私が、便利そうだと思ったC++11の新機能大学でC++03を教わった私が、便利そうだと思ったC++11の新機能
大学でC++03を教わった私が、便利そうだと思ったC++11の新機能tSURooT
 
一人でもはじめるGitでバージョン管理
一人でもはじめるGitでバージョン管理一人でもはじめるGitでバージョン管理
一人でもはじめるGitでバージョン管理Takafumi Yoshida
 
わんくま同盟大阪勉強会#61
わんくま同盟大阪勉強会#61わんくま同盟大阪勉強会#61
わんくま同盟大阪勉強会#61TATSUYA HAYAMIZU
 
Visual C++ 2015の紹介(C++11/14的に)
Visual C++ 2015の紹介(C++11/14的に)Visual C++ 2015の紹介(C++11/14的に)
Visual C++ 2015の紹介(C++11/14的に)egtra
 
猫にはわからないGit講座
猫にはわからないGit講座猫にはわからないGit講座
猫にはわからないGit講座Yusei Yamanaka
 
Github勉強会
Github勉強会Github勉強会
Github勉強会From Atom
 
C++11やemscriptenと付き合って1年間の振り返り
C++11やemscriptenと付き合って1年間の振り返りC++11やemscriptenと付き合って1年間の振り返り
C++11やemscriptenと付き合って1年間の振り返りpaosidufgythrj
 
ノンプログラマでも今日から使える「Git」でバージョン管理
ノンプログラマでも今日から使える「Git」でバージョン管理ノンプログラマでも今日から使える「Git」でバージョン管理
ノンプログラマでも今日から使える「Git」でバージョン管理H2O Space. Co., Ltd.
 
コンセプトから理解するGitコマンド
コンセプトから理解するGitコマンドコンセプトから理解するGitコマンド
コンセプトから理解するGitコマンドktateish
 
Git flowの活用事例
Git flowの活用事例Git flowの活用事例
Git flowの活用事例Hirohito Kato
 
はじめようGit
はじめようGitはじめようGit
はじめようGittechscore
 
15分でわかるGit入門
15分でわかるGit入門15分でわかるGit入門
15分でわかるGit入門to_ueda
 
やりなおせる Git 入門
やりなおせる Git 入門やりなおせる Git 入門
やりなおせる Git 入門Tomohiko Himura
 
GitLab & web hooks & git-flowで実現する企業向けgit環境の構築
GitLab & web hooks & git-flowで実現する企業向けgit環境の構築GitLab & web hooks & git-flowで実現する企業向けgit環境の構築
GitLab & web hooks & git-flowで実現する企業向けgit環境の構築CROOZ, inc.
 
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜Takashi Uemura
 
Catalogue HOP'TOYS Autonomie 2017
Catalogue HOP'TOYS Autonomie 2017Catalogue HOP'TOYS Autonomie 2017
Catalogue HOP'TOYS Autonomie 2017Julien Servy
 
Turkey is a New Kind Of Silicon Valley
Turkey is a New Kind Of Silicon ValleyTurkey is a New Kind Of Silicon Valley
Turkey is a New Kind Of Silicon ValleyZafer Elcik
 

Destaque (20)

C++ tips2 インクリメント編
C++ tips2 インクリメント編C++ tips2 インクリメント編
C++ tips2 インクリメント編
 
大学でC++03を教わった私が、便利そうだと思ったC++11の新機能
大学でC++03を教わった私が、便利そうだと思ったC++11の新機能大学でC++03を教わった私が、便利そうだと思ったC++11の新機能
大学でC++03を教わった私が、便利そうだと思ったC++11の新機能
 
C++ tips1 #include編
C++ tips1 #include編C++ tips1 #include編
C++ tips1 #include編
 
一人でもはじめるGitでバージョン管理
一人でもはじめるGitでバージョン管理一人でもはじめるGitでバージョン管理
一人でもはじめるGitでバージョン管理
 
わんくま同盟大阪勉強会#61
わんくま同盟大阪勉強会#61わんくま同盟大阪勉強会#61
わんくま同盟大阪勉強会#61
 
Visual C++ 2015の紹介(C++11/14的に)
Visual C++ 2015の紹介(C++11/14的に)Visual C++ 2015の紹介(C++11/14的に)
Visual C++ 2015の紹介(C++11/14的に)
 
猫にはわからないGit講座
猫にはわからないGit講座猫にはわからないGit講座
猫にはわからないGit講座
 
Github勉強会
Github勉強会Github勉強会
Github勉強会
 
Gitの使い方あれこれ
Gitの使い方あれこれGitの使い方あれこれ
Gitの使い方あれこれ
 
C++11やemscriptenと付き合って1年間の振り返り
C++11やemscriptenと付き合って1年間の振り返りC++11やemscriptenと付き合って1年間の振り返り
C++11やemscriptenと付き合って1年間の振り返り
 
ノンプログラマでも今日から使える「Git」でバージョン管理
ノンプログラマでも今日から使える「Git」でバージョン管理ノンプログラマでも今日から使える「Git」でバージョン管理
ノンプログラマでも今日から使える「Git」でバージョン管理
 
コンセプトから理解するGitコマンド
コンセプトから理解するGitコマンドコンセプトから理解するGitコマンド
コンセプトから理解するGitコマンド
 
Git flowの活用事例
Git flowの活用事例Git flowの活用事例
Git flowの活用事例
 
はじめようGit
はじめようGitはじめようGit
はじめようGit
 
15分でわかるGit入門
15分でわかるGit入門15分でわかるGit入門
15分でわかるGit入門
 
やりなおせる Git 入門
やりなおせる Git 入門やりなおせる Git 入門
やりなおせる Git 入門
 
GitLab & web hooks & git-flowで実現する企業向けgit環境の構築
GitLab & web hooks & git-flowで実現する企業向けgit環境の構築GitLab & web hooks & git-flowで実現する企業向けgit環境の構築
GitLab & web hooks & git-flowで実現する企業向けgit環境の構築
 
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
 
Catalogue HOP'TOYS Autonomie 2017
Catalogue HOP'TOYS Autonomie 2017Catalogue HOP'TOYS Autonomie 2017
Catalogue HOP'TOYS Autonomie 2017
 
Turkey is a New Kind Of Silicon Valley
Turkey is a New Kind Of Silicon ValleyTurkey is a New Kind Of Silicon Valley
Turkey is a New Kind Of Silicon Valley
 

Semelhante a C++ tips 3 カンマ演算子編

C++ lecture-0
C++ lecture-0C++ lecture-0
C++ lecture-0sunaemon
 
「C言語規格&MISRA-C:みんなで楽しいCプログラミング」NGK2013B名古屋合同懇親会2013忘年会昼の部
「C言語規格&MISRA-C:みんなで楽しいCプログラミング」NGK2013B名古屋合同懇親会2013忘年会昼の部「C言語規格&MISRA-C:みんなで楽しいCプログラミング」NGK2013B名古屋合同懇親会2013忘年会昼の部
「C言語規格&MISRA-C:みんなで楽しいCプログラミング」NGK2013B名古屋合同懇親会2013忘年会昼の部Kiyoshi Ogawa
 
Define and expansion of cpp macro
Define and expansion of cpp macroDefine and expansion of cpp macro
Define and expansion of cpp macrodigitalghost
 
Lambda in template_final
Lambda in template_finalLambda in template_final
Lambda in template_finalCryolite
 
C++コンパイラ GCCとClangからのメッセージをお読みください
C++コンパイラ GCCとClangからのメッセージをお読みくださいC++コンパイラ GCCとClangからのメッセージをお読みください
C++コンパイラ GCCとClangからのメッセージをお読みくださいdigitalghost
 
マイクロマウスのための MATLAB/Simulink 講座 第1回 - MATLAB入門
マイクロマウスのための MATLAB/Simulink 講座 第1回 - MATLAB入門マイクロマウスのための MATLAB/Simulink 講座 第1回 - MATLAB入門
マイクロマウスのための MATLAB/Simulink 講座 第1回 - MATLAB入門Teng Tokoro
 
Visual C++コード分析を支えるSAL
Visual C++コード分析を支えるSALVisual C++コード分析を支えるSAL
Visual C++コード分析を支えるSALegtra
 
C++勉強会in広島プレゼン資料
C++勉強会in広島プレゼン資料C++勉強会in広島プレゼン資料
C++勉強会in広島プレゼン資料真一 北原
 
C++0xの概要(デブサミ2010)
C++0xの概要(デブサミ2010)C++0xの概要(デブサミ2010)
C++0xの概要(デブサミ2010)Akira Takahashi
 
知って得するC#
知って得するC#知って得するC#
知って得するC#Shota Baba
 

Semelhante a C++ tips 3 カンマ演算子編 (20)

C++0x総復習
C++0x総復習C++0x総復習
C++0x総復習
 
C++ lecture-0
C++ lecture-0C++ lecture-0
C++ lecture-0
 
C++ tips4 cv修飾編
C++ tips4 cv修飾編C++ tips4 cv修飾編
C++ tips4 cv修飾編
 
More C++11
More C++11More C++11
More C++11
 
「C言語規格&MISRA-C:みんなで楽しいCプログラミング」NGK2013B名古屋合同懇親会2013忘年会昼の部
「C言語規格&MISRA-C:みんなで楽しいCプログラミング」NGK2013B名古屋合同懇親会2013忘年会昼の部「C言語規格&MISRA-C:みんなで楽しいCプログラミング」NGK2013B名古屋合同懇親会2013忘年会昼の部
「C言語規格&MISRA-C:みんなで楽しいCプログラミング」NGK2013B名古屋合同懇親会2013忘年会昼の部
 
Objc lambda
Objc lambdaObjc lambda
Objc lambda
 
Define and expansion of cpp macro
Define and expansion of cpp macroDefine and expansion of cpp macro
Define and expansion of cpp macro
 
Lambda in template_final
Lambda in template_finalLambda in template_final
Lambda in template_final
 
C++コンパイラ GCCとClangからのメッセージをお読みください
C++コンパイラ GCCとClangからのメッセージをお読みくださいC++コンパイラ GCCとClangからのメッセージをお読みください
C++コンパイラ GCCとClangからのメッセージをお読みください
 
C++14 Overview
C++14 OverviewC++14 Overview
C++14 Overview
 
C++の復習
C++の復習C++の復習
C++の復習
 
マイクロマウスのための MATLAB/Simulink 講座 第1回 - MATLAB入門
マイクロマウスのための MATLAB/Simulink 講座 第1回 - MATLAB入門マイクロマウスのための MATLAB/Simulink 講座 第1回 - MATLAB入門
マイクロマウスのための MATLAB/Simulink 講座 第1回 - MATLAB入門
 
Visual C++コード分析を支えるSAL
Visual C++コード分析を支えるSALVisual C++コード分析を支えるSAL
Visual C++コード分析を支えるSAL
 
Pfi Seminar 2010 1 7
Pfi Seminar 2010 1 7Pfi Seminar 2010 1 7
Pfi Seminar 2010 1 7
 
Hupc 1
Hupc 1Hupc 1
Hupc 1
 
C++勉強会in広島プレゼン資料
C++勉強会in広島プレゼン資料C++勉強会in広島プレゼン資料
C++勉強会in広島プレゼン資料
 
Emcpp item31
Emcpp item31Emcpp item31
Emcpp item31
 
講座C入門
講座C入門講座C入門
講座C入門
 
C++0xの概要(デブサミ2010)
C++0xの概要(デブサミ2010)C++0xの概要(デブサミ2010)
C++0xの概要(デブサミ2010)
 
知って得するC#
知って得するC#知って得するC#
知って得するC#
 

Mais de 道化師 堂華

Reflection with xamarin.forms
Reflection with xamarin.formsReflection with xamarin.forms
Reflection with xamarin.forms道化師 堂華
 
独りガラパゴス開発
独りガラパゴス開発独りガラパゴス開発
独りガラパゴス開発道化師 堂華
 
エラーハンドリングモデル考察
エラーハンドリングモデル考察エラーハンドリングモデル考察
エラーハンドリングモデル考察道化師 堂華
 
C++プログラマの為のセキュリティ入門
C++プログラマの為のセキュリティ入門C++プログラマの為のセキュリティ入門
C++プログラマの為のセキュリティ入門道化師 堂華
 
エラーハンドリング
エラーハンドリングエラーハンドリング
エラーハンドリング道化師 堂華
 
マスタリング バベル
マスタリング バベルマスタリング バベル
マスタリング バベル道化師 堂華
 
並列プログラミング 入門!&おさらい!
並列プログラミング入門!&おさらい!並列プログラミング入門!&おさらい!
並列プログラミング 入門!&おさらい!道化師 堂華
 
LUCIFERの設計コンセプトと 導入予定の機能紹介
LUCIFERの設計コンセプトと 導入予定の機能紹介LUCIFERの設計コンセプトと 導入予定の機能紹介
LUCIFERの設計コンセプトと 導入予定の機能紹介道化師 堂華
 

Mais de 道化師 堂華 (9)

Reflection with xamarin.forms
Reflection with xamarin.formsReflection with xamarin.forms
Reflection with xamarin.forms
 
独りガラパゴス開発
独りガラパゴス開発独りガラパゴス開発
独りガラパゴス開発
 
エラーハンドリングモデル考察
エラーハンドリングモデル考察エラーハンドリングモデル考察
エラーハンドリングモデル考察
 
C++プログラマの為のセキュリティ入門
C++プログラマの為のセキュリティ入門C++プログラマの為のセキュリティ入門
C++プログラマの為のセキュリティ入門
 
エラーハンドリング
エラーハンドリングエラーハンドリング
エラーハンドリング
 
マスタリング バベル
マスタリング バベルマスタリング バベル
マスタリング バベル
 
並列プログラミング 入門!&おさらい!
並列プログラミング入門!&おさらい!並列プログラミング入門!&おさらい!
並列プログラミング 入門!&おさらい!
 
バグベアード入門
バグベアード入門バグベアード入門
バグベアード入門
 
LUCIFERの設計コンセプトと 導入予定の機能紹介
LUCIFERの設計コンセプトと 導入予定の機能紹介LUCIFERの設計コンセプトと 導入予定の機能紹介
LUCIFERの設計コンセプトと 導入予定の機能紹介
 

C++ tips 3 カンマ演算子編