SlideShare a Scribd company logo
1 of 64
boost – std - C# 
株式会社Codeer 
石川達也 
http://www.codeer.co.jp/
自己紹介 
石川達也 
株式会社Codeer代表取締役 
Microsoft MVP for C# 
C++は嗜む程度
1999 
2000 
2001 
2002 
2003 
2004 
2005 
2006 
2007 
2008 
2009 
2010 
2011 
2012 
2013 
2014 
3 
プログラム経験はこんな感じです。 
C++ 
C 
Java 
C# 
入社 
会社辞める→フリー 
Codeer設立
4 
1999 Boost - 1999/12/30(Early releasesが14日にあった) 
2000 
2001 
2002 Let’s Boostスタート 
2003 
2004 Boost本 
2005 
2006 
2007 
2008 
2009 
2010 
2011 C++11 
2012 
2013 
2014
5 
1999 Boost - 1999/12/30(Early releasesが14日にあった) 
2000 C#発表(6月) 
2001 
2002 Let’s Boostスタート 
2003 C#1.1 
2004 Boost本 
2005 C#2.0(11月) 
2006 
2007 
2008 
2009 
2010 
2011 C++11 
2012 
2013 
2014
6 
あれは2005年の春 
すっかりJavaにかぶれていたころ・・・ 
久しぶりにC++の仕事に就くことになりました。 
Javaサイコー
7 
なんじゃこりゃー! 
めっちゃメモリリークしとるやんけ! 
こんな複雑なコードでnew delete 
やったら、そらリークするわな・・・。 
大規模アプリ開発は 
GCなしではやってられまへん
8 
Boostとの遭遇–shared_ptr- 
shared_ptrというのがあってだね 
え、メモリ管理しなくていいの?
9 
Boostとの遭遇–shared_ptr- 
説明不要! 
みんな大好きshared_ptr! 
保持者がいなくなったら、破棄してくれる。 
GCより厳密なタイミングで破棄! 
もちろんC++11で標準に入っています。
10 
Boostとの遭遇–shared_ptr- 
みんな大好きshared_ptr! 
デリータを覚えているからdllの壁を越えられる 
Shared_ptr 
Heap Heap
11 
Boostとの遭遇–shared_ptr- 
標準に入れなかった子もいました。 
shared_array 
//これダメデストラクタが呼ばれない 
boost::shared_ptr<A> a(new A[3]); 
//delete[]が呼ばれる 
boost::shared_array<A> a(new A[3]);
12 
Boostとの遭遇–shared_ptr- 
標準に入れなかった子もいました。 
shared_array 
//こう書くんだってさ 
std::shared_ptr<A> a( 
new A[3], 
std::default_delete<A[]>());
13 
Boostとの遭遇 
他にもいくつか使ったけど、 
やっぱりshared_ptrが 
ダントツの使用率でした。
14 
時は流れ・・・・ 
すっかりC++できる気になってたころ・・・ 
テンプレートライブラリつくったぜー。 
↑読み返す気が起きない 
やっぱpimplだよねー。 
↑変な書き方で読みづらい 
ネイティブ以外ありえないよねー。 
↑根拠なし
15 
C#に出会いました! 
え、中間言語になるの? 
そんな軟弱なものやる気がおきんなー。 
2007年の暑い夏の日・・・
16 
C#に出会いました! 
なんじゃこりゃー 
書きやすい 
意外に速い 
C#サイコー! 
でも、Genericは・・・ 
2.0だったけど
17 
C#に出会いました! 
あれ、だったら同じ.Net使える 
C++/CLIとかもっと良いんじゃね?
18 
C#に出会いました! 
・・・・ 
やっぱC#サイコー
19 
C#に出会いました! 
foreach 
object型 
delegate 
これC++でも使えたらいいのにね
20 
これC++でも使えたらいいのにね 
foreach 
object型 
delegate
21 
foreach 
BOOST_FOREACH 
std::vector<A> vec; 
BOOST_FOREACH(A e, vec) {} 
まさかのマクロで実装!
22 
foreach 
BOOST_FOREACH 
std::vector<A> vec; 
BOOST_FOREACH(A e, vec) {} 
//参照もOK 
BOOST_FOREACH(A& e, vec) {} 
BOOST_FOREACH(const A& e, vec) {}
23 
foreach 
BOOST_FOREACH 
//これはコンパイル通らない 
std::map<int, int> m; 
BOOST_FOREACH( 
std::map<int, int>::value_type e, m) 
{ 
} 
マクロだから,に弱い
24 
foreach 
BOOST_FOREACH 
//これならOK 
typedef std::map<int, int> Map; 
Map m; 
BOOST_FOREACH( 
Map::value_type e, m) 
{ 
}
25 
foreach 
C++11では 
std::vector<A> vec; 
for(auto e : vec) {} 
//参照もOK 
for(const auto e : vec) {} 
for(const auto& e : vec) {} 
11ではautoって書く方がオシャレ
26 
foreach 
MS方言for each 
for each(A a in vec){} 
C++11以前でも使えてた!
27 
foreach 
MS方言for each 
for each(A a in vec){} 
//const 参照もOK 
for each(const A& a in vec){}
28 
foreach 
MS方言for each 
for each(A a in vec){} 
//const 参照もOK 
for each(const A& a in vec){} 
//参照はコンパイル通らない・・・(´・ω・`) 
for each(A& a in vec){}
29 
役に立つMS方言講座 
interface 
//classの代わりにinterfaceって書ける! 
interface IA 
{ 
public: 
virtual ~IA(){} 
virtual void Func() = 0; 
}; 
interfaceであることを強調・・・
30 
役に立つMS方言講座 
propertyが使える 
class A 
{ 
int b; 
public: 
int GetB() const { return b; } 
void SetB(int val) { b = val; } 
public: 
__declspec(property( 
get = GetB, put = SetB)) int B; 
};
31 
役に立つMS方言講座 
propertyが使える 
#define PROPERTY( _t, _m )  
private: _t m_##_m ;  
public:  
__declspec(property(get=get##_m, put=set##_m)) _t _m ;  
_t get##_m() { return m_##_m; }  
void set##_m( _t value ) { m_##_m = value; }; 
マクロを作ると書きやすい 
↓のサイトに書いてたよ 
http://www.moonmile.net/blog/archives/3557
32 
役に立つMS方言講座 
propertyが使える 
PROPERTY( int, Number ); 
class A 
{ 
PROPERTY( int, B); 
}; 
こんな感じ
33 
役に立つMS方言講座 
propertyが使える 
A a; 
a.B = 100; 
使う側では便利かも
34 
役に立つMS方言講座 
event 
struct A { 
__event void Func(); 
};
35 
役に立つMS方言講座 
event 
struct B { 
A* pA; 
void Func(){} 
B(A& a) : pA(&a) { 
__hook(&A::Func, pA, &B::Func, this); 
} 
~B() { 
__unhook(&A::Func, pA, &B::Func, this); 
} 
};
36 
これC++でも使えたらいいのにね 
foreach 
object型 
delegate
37 
object型 
boost::any 
//何でも入るよー 
int i = 0; 
long l = 1; 
boost::any a = i; 
a = l;
38 
object型 
boost::any 
//型情報も取れちゃう 
if (a.type() == typeid(long)) { 
} 
else if (a.type() == typeid(int)) { 
}
39 
object型 
boost::any 
//キャストで中身取得 
l = boost::any_cast<long>(a); 
//失敗したら例外 
try { 
i = boost::any_cast<int>(a); 
} 
catch (boost::bad_any_cast e){}
40 
object型 
boost::any 
//shared_ptrと合わせたらもっとポイよねー 
boost::any a = 
std::make_shared<X>(); 
便利だけど、標準化はされてないよね?
41 
object型 
boost::any 
型をボンヤリさせるテクニックは 
Type Erasureって言うんだって 
boost::shared_ptrとか 
boost::function 
にも使われているらしい。
42 
これC++でも使えたらいいのにね 
foreach 
object型 
delegate
43 
delegate 
class Test { 
int x = 0; 
public void MyAction() { x = 10; } 
public void Main() { 
Action a = MyAction; 
a(); 
} 
} 
そもそも何が便利? C# 
単なる関数ポインタではなく 
インスタンスに結びついている
44 
delegate 
boost::bind 
class Test 
{ 
int x; 
void MyAction(){ x = 10; } 
public: 
void Main() { 
boost::function<void()> a = 
boost::bind(&Test::MyAction, this); 
a(); 
} 
};
45 
delegate 
C++11では標準の仲間入り! 
class Test 
{ 
int x; 
void MyAction(){ x = 10; } 
public: 
void Main() { 
std::function<void()> a = 
std::bind(&Test::MyAction, this); 
a(); 
} 
};
46 
delegate 
そもそも何が便利? C# 
int i = 0; 
Action a = ()=> 
{ 
i++; 
} 
a(); 
ササっと書ける 
ローカル変数取り込める 
Assert.AreEqual(i, 1);
47 
delegate 
boost::lambda 
using namespace boost::lambda; 
boost::function<int(int)> a = _1 + 3; 
int i = a(5); 
なんじゃこりゃ?
48 
delegate 
boost::lambda 
boost::lambda::placeholder1_type& 
_1 = free1; 
なんじゃこりゃ?
49 
delegate 
boost::lambda 
placeholder1_type 
BOOST_LAMBDA_BE(operator+ 
BOOST_LAMBDA_BE(operator- 
BOOST_LAMBDA_BE(operator* 
BOOST_LAMBDA_BE(operator/ 
・・・・ 
こいつがoperator hoge 
を山ほど実装しとるわけですな
50 
delegate 
boost::lambda 
boost::function<int(int)> a = 
//operator +が実行され、 
//関数オブジェクトが返るのでした。 
_1 + 3; 
つまり、引数ありで、一文のみ。
51 
delegate 
int i = 0; 
auto a = [&]() 
{ 
i++; 
}; 
a(); 
C++11 
C++11なら言語でサポートされている
52 
LINQ 
LINQも重要なんだけど、 
それを実現するための機能の方がもっと重要 
型推論だってLINQの戻り値の型書くの嫌 
ラムダサラッと処理作って渡せるのがいいのよ 
(ここが98のアルゴリズムの弱点) 
匿名型任意に抽出したデータを返せる 
拡張メソッドあたかも、そのコンテナのメソッドのように 
使える 
これらはLINQ以外でもヘビーに使われる
53 
LINQ 
C++11では? 
型推論auto 
ラムダ言語サポート 
匿名型・・・・ 
拡張メソッド・・・・
54 
匿名型 
void main() { 
var a = Decl (() => 
{ 
return new { x = 1, y = "hoge" }; 
}); 
var ret = a(); 
} 
//型推論を助けてやらんとあかんけど 
static Func<T> Decl<T>(Func<T> x) { 
return x; 
} 
そもそもC#では
55 
匿名型 
[]() { 
struct{ 
int a; 
} a; 
return a; 
}; 
C++ 
できるかと思ったら 
さすがに怒られたw
56 
C++で拡張メソッド 
そもそもC#では 
class A { 
public int a{get; set;} 
} 
static class Aextensions { 
public static void X(this A a) { 
a.a = 100; 
} 
} 
A a; 
a.X();
57 
C++で拡張メソッド 
実はC++でもその試みはある! 
でも、ちょっと広い心が必要・・・
58 
C++で拡張メソッド 
実はC++でもその試みはある! 
//結果から言うとこうなります。 
A a; 
a|X(); 
関数オブジェクトとoperator演算子で解決した。 
で、operator.はないから|を使うらしい。 
まあ、|じゃなくても、納得いくものならなんでも・・・
59 
C++で拡張メソッド 
a|X(); 
struct A { int a; }; 
struct XCore { //③ 
void operator()(A& a){ a.a = 100; } 
}; 
//② 
void operator | (A& a, XCore& b) { b(a); } 
//① 
XCore X() { return XCore(); } 
そこまでしてやりたいんかい!
60 
C++で拡張メソッド 
a|X(); 
struct A { int a; }; 
struct XCore { //③ 
void operator()(A& a){ a.a = 100; } 
}; 
//② 
void operator | (A& a, XCore& b) { b(a); } 
//① 
XCore X() { return XCore(); } 
そこまでしてやりたいんかい!
61 
C++で拡張メソッド 
でもおかげで、メソッドチェーンができます。 
vector<int> vec; 
auto ret = vec 
| filtered([](const int &e) {...}) 
| filtered([](const int &x) {...}) 
| transformed([](const int &x) {...}); 
こう見るとパイプっぽくてカッコいい!
62 
LINQ 
C++11では? 
型推論auto 
ラムダ言語サポート 
匿名型×あかんかった 
拡張メソッド○ 
まあまあイケル
63 
LINQ 
C++11では? 
・cpplinq 
・boost.RangeのOven拡張 
とかあるんだって 
↓ここに書いてありました 
http://d.hatena.ne.jp/wordi/20131116/p1
64 
ご清聴ありがとうございました!

More Related Content

What's hot

C++ tips 3 カンマ演算子編
C++ tips 3 カンマ演算子編C++ tips 3 カンマ演算子編
C++ tips 3 カンマ演算子編道化師 堂華
 
error handling using expected
error handling using expectederror handling using expected
error handling using expectedAkira Takahashi
 
Boost.勉強会#19東京 Effective Modern C++とC++ Core Guidelines
Boost.勉強会#19東京 Effective Modern C++とC++ Core GuidelinesBoost.勉強会#19東京 Effective Modern C++とC++ Core Guidelines
Boost.勉強会#19東京 Effective Modern C++とC++ Core GuidelinesShintarou Okada
 
Replace Output Iterator and Extend Range JP
Replace Output Iterator and Extend Range JPReplace Output Iterator and Extend Range JP
Replace Output Iterator and Extend Range JPAkira Takahashi
 
C++ ポインタ ブートキャンプ
C++ ポインタ ブートキャンプC++ ポインタ ブートキャンプ
C++ ポインタ ブートキャンプKohsuke Yuasa
 
C++入門?
C++入門?C++入門?
C++入門?tsudaa
 
Lambda in template_final
Lambda in template_finalLambda in template_final
Lambda in template_finalCryolite
 
T69 c++cli ネイティブライブラリラッピング入門
T69 c++cli ネイティブライブラリラッピング入門T69 c++cli ネイティブライブラリラッピング入門
T69 c++cli ネイティブライブラリラッピング入門伸男 伊藤
 
C#とILとネイティブと
C#とILとネイティブとC#とILとネイティブと
C#とILとネイティブと信之 岩永
 
君はまだ,本当のプリプロセスを知らない
君はまだ,本当のプリプロセスを知らない君はまだ,本当のプリプロセスを知らない
君はまだ,本当のプリプロセスを知らないdigitalghost
 
オブジェクト指向入門7
オブジェクト指向入門7オブジェクト指向入門7
オブジェクト指向入門7Kenta Hattori
 
MISRA-C2012とISO/IEC 9899:2011 at OSCNagoya2013
MISRA-C2012とISO/IEC 9899:2011 at OSCNagoya2013MISRA-C2012とISO/IEC 9899:2011 at OSCNagoya2013
MISRA-C2012とISO/IEC 9899:2011 at OSCNagoya2013Kiyoshi Ogawa
 
Define and expansion of cpp macro
Define and expansion of cpp macroDefine and expansion of cpp macro
Define and expansion of cpp macrodigitalghost
 
Effective modern C++ 勉強会 #3 Item 12
Effective modern C++ 勉強会 #3 Item 12Effective modern C++ 勉強会 #3 Item 12
Effective modern C++ 勉強会 #3 Item 12Keisuke Fukuda
 

What's hot (20)

C++ tips 3 カンマ演算子編
C++ tips 3 カンマ演算子編C++ tips 3 カンマ演算子編
C++ tips 3 カンマ演算子編
 
What is template
What is templateWhat is template
What is template
 
error handling using expected
error handling using expectederror handling using expected
error handling using expected
 
Boost.勉強会#19東京 Effective Modern C++とC++ Core Guidelines
Boost.勉強会#19東京 Effective Modern C++とC++ Core GuidelinesBoost.勉強会#19東京 Effective Modern C++とC++ Core Guidelines
Boost.勉強会#19東京 Effective Modern C++とC++ Core Guidelines
 
Replace Output Iterator and Extend Range JP
Replace Output Iterator and Extend Range JPReplace Output Iterator and Extend Range JP
Replace Output Iterator and Extend Range JP
 
C++ ポインタ ブートキャンプ
C++ ポインタ ブートキャンプC++ ポインタ ブートキャンプ
C++ ポインタ ブートキャンプ
 
C++入門?
C++入門?C++入門?
C++入門?
 
Emcpp item31
Emcpp item31Emcpp item31
Emcpp item31
 
Lambda in template_final
Lambda in template_finalLambda in template_final
Lambda in template_final
 
T69 c++cli ネイティブライブラリラッピング入門
T69 c++cli ネイティブライブラリラッピング入門T69 c++cli ネイティブライブラリラッピング入門
T69 c++cli ネイティブライブラリラッピング入門
 
C++11
C++11C++11
C++11
 
C#とILとネイティブと
C#とILとネイティブとC#とILとネイティブと
C#とILとネイティブと
 
君はまだ,本当のプリプロセスを知らない
君はまだ,本当のプリプロセスを知らない君はまだ,本当のプリプロセスを知らない
君はまだ,本当のプリプロセスを知らない
 
オブジェクト指向入門7
オブジェクト指向入門7オブジェクト指向入門7
オブジェクト指向入門7
 
Emcjp item33,34
Emcjp item33,34Emcjp item33,34
Emcjp item33,34
 
C++0x総復習
C++0x総復習C++0x総復習
C++0x総復習
 
MISRA-C2012とISO/IEC 9899:2011 at OSCNagoya2013
MISRA-C2012とISO/IEC 9899:2011 at OSCNagoya2013MISRA-C2012とISO/IEC 9899:2011 at OSCNagoya2013
MISRA-C2012とISO/IEC 9899:2011 at OSCNagoya2013
 
Misrac20150523
Misrac20150523Misrac20150523
Misrac20150523
 
Define and expansion of cpp macro
Define and expansion of cpp macroDefine and expansion of cpp macro
Define and expansion of cpp macro
 
Effective modern C++ 勉強会 #3 Item 12
Effective modern C++ 勉強会 #3 Item 12Effective modern C++ 勉強会 #3 Item 12
Effective modern C++ 勉強会 #3 Item 12
 

Viewers also liked

Boost study meeting opening 4
Boost study meeting opening 4Boost study meeting opening 4
Boost study meeting opening 4Akira Takahashi
 
The Earth is not flat; but it's not round either (Geography on Boost.Geometry)
The Earth is not flat; but it's not round either (Geography on Boost.Geometry)The Earth is not flat; but it's not round either (Geography on Boost.Geometry)
The Earth is not flat; but it's not round either (Geography on Boost.Geometry)Vissarion Fisikopoulos
 
boost::shared_ptr tutorial
boost::shared_ptr tutorialboost::shared_ptr tutorial
boost::shared_ptr tutorialNU_Pan
 
Boost勉強会 #10 ディスカッションまとめ
Boost勉強会 #10 ディスカッションまとめBoost勉強会 #10 ディスカッションまとめ
Boost勉強会 #10 ディスカッションまとめSigureya
 
ゲーム開発経営ゲーム
ゲーム開発経営ゲームゲーム開発経営ゲーム
ゲーム開発経営ゲームYuki Miyatake
 
3DCAD@VDI活用とCADデータ管理のロードマップ
3DCAD@VDI活用とCADデータ管理のロードマップ3DCAD@VDI活用とCADデータ管理のロードマップ
3DCAD@VDI活用とCADデータ管理のロードマップDell TechCenter Japan
 
3D CADと3Dプリンタ体験セミナー #1
3D CADと3Dプリンタ体験セミナー #13D CADと3Dプリンタ体験セミナー #1
3D CADと3Dプリンタ体験セミナー #1Kou Ouchi
 
Unity MeshとColliderについて
Unity MeshとColliderについてUnity MeshとColliderについて
Unity MeshとColliderについてSelf Norl
 
ゲームアプリの数学@GREE GameDevelopers' Meetup
ゲームアプリの数学@GREE GameDevelopers' Meetupゲームアプリの数学@GREE GameDevelopers' Meetup
ゲームアプリの数学@GREE GameDevelopers' MeetupRyuichi Kubuki
 
BoostAsioで可読性を求めるのは間違っているだろうか
BoostAsioで可読性を求めるのは間違っているだろうかBoostAsioで可読性を求めるのは間違っているだろうか
BoostAsioで可読性を求めるのは間違っているだろうかYuki Miyatake
 
Boost.勉強会 #15 札幌 LT「8年間の研究生活でC++書いてて大変だったことベスト3」
Boost.勉強会 #15 札幌 LT「8年間の研究生活でC++書いてて大変だったことベスト3」Boost.勉強会 #15 札幌 LT「8年間の研究生活でC++書いてて大変だったことベスト3」
Boost.勉強会 #15 札幌 LT「8年間の研究生活でC++書いてて大変だったことベスト3」Hiro H.
 

Viewers also liked (20)

ABC2015 Summer LT
ABC2015 Summer LTABC2015 Summer LT
ABC2015 Summer LT
 
Boost study meeting opening 4
Boost study meeting opening 4Boost study meeting opening 4
Boost study meeting opening 4
 
CG基礎3 メタリンク
CG基礎3 メタリンクCG基礎3 メタリンク
CG基礎3 メタリンク
 
The Earth is not flat; but it's not round either (Geography on Boost.Geometry)
The Earth is not flat; but it's not round either (Geography on Boost.Geometry)The Earth is not flat; but it's not round either (Geography on Boost.Geometry)
The Earth is not flat; but it's not round either (Geography on Boost.Geometry)
 
boost::shared_ptr tutorial
boost::shared_ptr tutorialboost::shared_ptr tutorial
boost::shared_ptr tutorial
 
Boost勉強会 #10 ディスカッションまとめ
Boost勉強会 #10 ディスカッションまとめBoost勉強会 #10 ディスカッションまとめ
Boost勉強会 #10 ディスカッションまとめ
 
Glfw3,OpenGL,GUI
Glfw3,OpenGL,GUI Glfw3,OpenGL,GUI
Glfw3,OpenGL,GUI
 
boost and c++11
boost and c++11boost and c++11
boost and c++11
 
ゲーム開発経営ゲーム
ゲーム開発経営ゲームゲーム開発経営ゲーム
ゲーム開発経営ゲーム
 
3DCAD@VDI活用とCADデータ管理のロードマップ
3DCAD@VDI活用とCADデータ管理のロードマップ3DCAD@VDI活用とCADデータ管理のロードマップ
3DCAD@VDI活用とCADデータ管理のロードマップ
 
Boost Tour 1_58_0 merge
Boost Tour 1_58_0 mergeBoost Tour 1_58_0 merge
Boost Tour 1_58_0 merge
 
Boost container feature
Boost container featureBoost container feature
Boost container feature
 
Boost tour 1.60.0
Boost tour 1.60.0Boost tour 1.60.0
Boost tour 1.60.0
 
3D CADと3Dプリンタ体験セミナー #1
3D CADと3Dプリンタ体験セミナー #13D CADと3Dプリンタ体験セミナー #1
3D CADと3Dプリンタ体験セミナー #1
 
Unity MeshとColliderについて
Unity MeshとColliderについてUnity MeshとColliderについて
Unity MeshとColliderについて
 
Boost apps ver1.0
Boost apps ver1.0Boost apps ver1.0
Boost apps ver1.0
 
ゲームアプリの数学@GREE GameDevelopers' Meetup
ゲームアプリの数学@GREE GameDevelopers' Meetupゲームアプリの数学@GREE GameDevelopers' Meetup
ゲームアプリの数学@GREE GameDevelopers' Meetup
 
BoostAsioで可読性を求めるのは間違っているだろうか
BoostAsioで可読性を求めるのは間違っているだろうかBoostAsioで可読性を求めるのは間違っているだろうか
BoostAsioで可読性を求めるのは間違っているだろうか
 
Study3 boost
Study3 boostStudy3 boost
Study3 boost
 
Boost.勉強会 #15 札幌 LT「8年間の研究生活でC++書いてて大変だったことベスト3」
Boost.勉強会 #15 札幌 LT「8年間の研究生活でC++書いてて大変だったことベスト3」Boost.勉強会 #15 札幌 LT「8年間の研究生活でC++書いてて大変だったことベスト3」
Boost.勉強会 #15 札幌 LT「8年間の研究生活でC++書いてて大変だったことベスト3」
 

Similar to boost - std - C#

2014年の社内新人教育テキスト #2(関数型言語からオブジェクト指向言語へ)
2014年の社内新人教育テキスト #2(関数型言語からオブジェクト指向言語へ)2014年の社内新人教育テキスト #2(関数型言語からオブジェクト指向言語へ)
2014年の社内新人教育テキスト #2(関数型言語からオブジェクト指向言語へ)Shin-ya Koga
 
Unity C#3からC#6に向けて
Unity C#3からC#6に向けてUnity C#3からC#6に向けて
Unity C#3からC#6に向けてonotchi_
 
新しい並列for構文のご提案
新しい並列for構文のご提案新しい並列for構文のご提案
新しい並列for構文のご提案yohhoy
 
20171212 titech lecture_ishizaki_public
20171212 titech lecture_ishizaki_public20171212 titech lecture_ishizaki_public
20171212 titech lecture_ishizaki_publicKazuaki Ishizaki
 
C++0xの概要(デブサミ2010)
C++0xの概要(デブサミ2010)C++0xの概要(デブサミ2010)
C++0xの概要(デブサミ2010)Akira Takahashi
 
復習も兼ねて!C#6.0-7.0
復習も兼ねて!C#6.0-7.0復習も兼ねて!C#6.0-7.0
復習も兼ねて!C#6.0-7.0Yuta Matsumura
 
Tensor flow勉強会3
Tensor flow勉強会3Tensor flow勉強会3
Tensor flow勉強会3tak9029
 
TypeScript と Visual Studio Code
TypeScript と Visual Studio CodeTypeScript と Visual Studio Code
TypeScript と Visual Studio CodeAkira Inoue
 
ぱっと見でわかるC++11
ぱっと見でわかるC++11ぱっと見でわかるC++11
ぱっと見でわかるC++11えぴ 福田
 
NumPyが物足りない人へのCython入門
NumPyが物足りない人へのCython入門NumPyが物足りない人へのCython入門
NumPyが物足りない人へのCython入門Shiqiao Du
 
関数型言語&形式的手法セミナー(3)
関数型言語&形式的手法セミナー(3)関数型言語&形式的手法セミナー(3)
関数型言語&形式的手法セミナー(3)啓 小笠原
 
Python standard 2022 Spring
Python standard 2022 SpringPython standard 2022 Spring
Python standard 2022 Springanyakichi
 
Flutterを体験してみませんか
Flutterを体験してみませんかFlutterを体験してみませんか
Flutterを体験してみませんかcch-robo
 
C++コミュニティーの中心でC++をDISる
C++コミュニティーの中心でC++をDISるC++コミュニティーの中心でC++をDISる
C++コミュニティーの中心でC++をDISるHideyuki Tanaka
 

Similar to boost - std - C# (20)

2014年の社内新人教育テキスト #2(関数型言語からオブジェクト指向言語へ)
2014年の社内新人教育テキスト #2(関数型言語からオブジェクト指向言語へ)2014年の社内新人教育テキスト #2(関数型言語からオブジェクト指向言語へ)
2014年の社内新人教育テキスト #2(関数型言語からオブジェクト指向言語へ)
 
Unity C#3からC#6に向けて
Unity C#3からC#6に向けてUnity C#3からC#6に向けて
Unity C#3からC#6に向けて
 
新しい並列for構文のご提案
新しい並列for構文のご提案新しい並列for構文のご提案
新しい並列for構文のご提案
 
Pfi Seminar 2010 1 7
Pfi Seminar 2010 1 7Pfi Seminar 2010 1 7
Pfi Seminar 2010 1 7
 
20171212 titech lecture_ishizaki_public
20171212 titech lecture_ishizaki_public20171212 titech lecture_ishizaki_public
20171212 titech lecture_ishizaki_public
 
C++0xの概要(デブサミ2010)
C++0xの概要(デブサミ2010)C++0xの概要(デブサミ2010)
C++0xの概要(デブサミ2010)
 
Objc lambda
Objc lambdaObjc lambda
Objc lambda
 
復習も兼ねて!C#6.0-7.0
復習も兼ねて!C#6.0-7.0復習も兼ねて!C#6.0-7.0
復習も兼ねて!C#6.0-7.0
 
Tensor flow勉強会3
Tensor flow勉強会3Tensor flow勉強会3
Tensor flow勉強会3
 
TypeScript と Visual Studio Code
TypeScript と Visual Studio CodeTypeScript と Visual Studio Code
TypeScript と Visual Studio Code
 
More C++11
More C++11More C++11
More C++11
 
ぱっと見でわかるC++11
ぱっと見でわかるC++11ぱっと見でわかるC++11
ぱっと見でわかるC++11
 
Introduction of Python
Introduction of PythonIntroduction of Python
Introduction of Python
 
NumPyが物足りない人へのCython入門
NumPyが物足りない人へのCython入門NumPyが物足りない人へのCython入門
NumPyが物足りない人へのCython入門
 
Processing
ProcessingProcessing
Processing
 
C#6.0の新機能紹介
C#6.0の新機能紹介C#6.0の新機能紹介
C#6.0の新機能紹介
 
関数型言語&形式的手法セミナー(3)
関数型言語&形式的手法セミナー(3)関数型言語&形式的手法セミナー(3)
関数型言語&形式的手法セミナー(3)
 
Python standard 2022 Spring
Python standard 2022 SpringPython standard 2022 Spring
Python standard 2022 Spring
 
Flutterを体験してみませんか
Flutterを体験してみませんかFlutterを体験してみませんか
Flutterを体験してみませんか
 
C++コミュニティーの中心でC++をDISる
C++コミュニティーの中心でC++をDISるC++コミュニティーの中心でC++をDISる
C++コミュニティーの中心でC++をDISる
 

More from Tatsuya Ishikawa

【オンライン】.NET 6 移行祭り! C# Tokyo イベント
【オンライン】.NET 6 移行祭り! C# Tokyo イベント【オンライン】.NET 6 移行祭り! C# Tokyo イベント
【オンライン】.NET 6 移行祭り! C# Tokyo イベントTatsuya Ishikawa
 
Test automation strategy for .net core 3 transition
Test automation strategy for .net core 3 transitionTest automation strategy for .net core 3 transition
Test automation strategy for .net core 3 transitionTatsuya Ishikawa
 
Infragistics Web Day 2017 - 継続的な開発を支える テスト自動化技術
Infragistics Web Day 2017 - 継続的な開発を支える テスト自動化技術Infragistics Web Day 2017 - 継続的な開発を支える テスト自動化技術
Infragistics Web Day 2017 - 継続的な開発を支える テスト自動化技術Tatsuya Ishikawa
 
Stack2017 自動化困難な状況での活動方法
Stack2017 自動化困難な状況での活動方法Stack2017 自動化困難な状況での活動方法
Stack2017 自動化困難な状況での活動方法Tatsuya Ishikawa
 
メタな感じのプログラミング(プロ生 + わんくま 071118)
メタな感じのプログラミング(プロ生 + わんくま 071118)メタな感じのプログラミング(プロ生 + わんくま 071118)
メタな感じのプログラミング(プロ生 + わんくま 071118)Tatsuya Ishikawa
 
Dot netconf2017 - VS拡張
Dot netconf2017 - VS拡張Dot netconf2017 - VS拡張
Dot netconf2017 - VS拡張Tatsuya Ishikawa
 
価値あるシステムテスト自動化の実現By friendly
価値あるシステムテスト自動化の実現By friendly価値あるシステムテスト自動化の実現By friendly
価値あるシステムテスト自動化の実現By friendlyTatsuya Ishikawa
 
Bindingからframework elementを見つける
Bindingからframework elementを見つけるBindingからframework elementを見つける
Bindingからframework elementを見つけるTatsuya Ishikawa
 
【SQiP2014】システム操作インターフェイス最適化によるテスト自動化ROI向上
【SQiP2014】システム操作インターフェイス最適化によるテスト自動化ROI向上【SQiP2014】システム操作インターフェイス最適化によるテスト自動化ROI向上
【SQiP2014】システム操作インターフェイス最適化によるテスト自動化ROI向上Tatsuya Ishikawa
 
Friendlyで始めるwindowsアプリシステムテスト自動化+内部使用技術解説
Friendlyで始めるwindowsアプリシステムテスト自動化+内部使用技術解説Friendlyで始めるwindowsアプリシステムテスト自動化+内部使用技術解説
Friendlyで始めるwindowsアプリシステムテスト自動化+内部使用技術解説Tatsuya Ishikawa
 
Windowsアプリテスト自動化 [Friendly+delphi]
Windowsアプリテスト自動化 [Friendly+delphi]Windowsアプリテスト自動化 [Friendly+delphi]
Windowsアプリテスト自動化 [Friendly+delphi]Tatsuya Ishikawa
 
Ride on azure~アイデアソン編~
Ride on azure~アイデアソン編~Ride on azure~アイデアソン編~
Ride on azure~アイデアソン編~Tatsuya Ishikawa
 
私とC++ in 例外安全day
私とC++ in 例外安全day私とC++ in 例外安全day
私とC++ in 例外安全dayTatsuya Ishikawa
 
他言語との連携(ネイティブから動的言語まで)
他言語との連携(ネイティブから動的言語まで)他言語との連携(ネイティブから動的言語まで)
他言語との連携(ネイティブから動的言語まで)Tatsuya Ishikawa
 

More from Tatsuya Ishikawa (20)

burikaigi2024.pptx
burikaigi2024.pptxburikaigi2024.pptx
burikaigi2024.pptx
 
【オンライン】.NET 6 移行祭り! C# Tokyo イベント
【オンライン】.NET 6 移行祭り! C# Tokyo イベント【オンライン】.NET 6 移行祭り! C# Tokyo イベント
【オンライン】.NET 6 移行祭り! C# Tokyo イベント
 
burikaigi2023
burikaigi2023burikaigi2023
burikaigi2023
 
Test to net core 3
Test to net core 3Test to net core 3
Test to net core 3
 
Test automation strategy for .net core 3 transition
Test automation strategy for .net core 3 transitionTest automation strategy for .net core 3 transition
Test automation strategy for .net core 3 transition
 
Developer summit codeer
Developer summit codeerDeveloper summit codeer
Developer summit codeer
 
Infragistics Web Day 2017 - 継続的な開発を支える テスト自動化技術
Infragistics Web Day 2017 - 継続的な開発を支える テスト自動化技術Infragistics Web Day 2017 - 継続的な開発を支える テスト自動化技術
Infragistics Web Day 2017 - 継続的な開発を支える テスト自動化技術
 
Stack2017 自動化困難な状況での活動方法
Stack2017 自動化困難な状況での活動方法Stack2017 自動化困難な状況での活動方法
Stack2017 自動化困難な状況での活動方法
 
メタな感じのプログラミング(プロ生 + わんくま 071118)
メタな感じのプログラミング(プロ生 + わんくま 071118)メタな感じのプログラミング(プロ生 + わんくま 071118)
メタな感じのプログラミング(プロ生 + わんくま 071118)
 
Dot netconf2017 - VS拡張
Dot netconf2017 - VS拡張Dot netconf2017 - VS拡張
Dot netconf2017 - VS拡張
 
.Netconf
.Netconf.Netconf
.Netconf
 
価値あるシステムテスト自動化の実現By friendly
価値あるシステムテスト自動化の実現By friendly価値あるシステムテスト自動化の実現By friendly
価値あるシステムテスト自動化の実現By friendly
 
Stac2014 石川
Stac2014 石川Stac2014 石川
Stac2014 石川
 
Bindingからframework elementを見つける
Bindingからframework elementを見つけるBindingからframework elementを見つける
Bindingからframework elementを見つける
 
【SQiP2014】システム操作インターフェイス最適化によるテスト自動化ROI向上
【SQiP2014】システム操作インターフェイス最適化によるテスト自動化ROI向上【SQiP2014】システム操作インターフェイス最適化によるテスト自動化ROI向上
【SQiP2014】システム操作インターフェイス最適化によるテスト自動化ROI向上
 
Friendlyで始めるwindowsアプリシステムテスト自動化+内部使用技術解説
Friendlyで始めるwindowsアプリシステムテスト自動化+内部使用技術解説Friendlyで始めるwindowsアプリシステムテスト自動化+内部使用技術解説
Friendlyで始めるwindowsアプリシステムテスト自動化+内部使用技術解説
 
Windowsアプリテスト自動化 [Friendly+delphi]
Windowsアプリテスト自動化 [Friendly+delphi]Windowsアプリテスト自動化 [Friendly+delphi]
Windowsアプリテスト自動化 [Friendly+delphi]
 
Ride on azure~アイデアソン編~
Ride on azure~アイデアソン編~Ride on azure~アイデアソン編~
Ride on azure~アイデアソン編~
 
私とC++ in 例外安全day
私とC++ in 例外安全day私とC++ in 例外安全day
私とC++ in 例外安全day
 
他言語との連携(ネイティブから動的言語まで)
他言語との連携(ネイティブから動的言語まで)他言語との連携(ネイティブから動的言語まで)
他言語との連携(ネイティブから動的言語まで)
 

boost - std - C#