SlideShare ist ein Scribd-Unternehmen logo
1 von 47
Downloaden Sie, um offline zu lesen
札幌C++勉強会#2


 C++のマクロはどこまで
  関数をいじれるのか
~「Pythonで末尾再帰最適化」問題から~

              H.Hiro(Maraigue)
             Twitter: @h_hiro_
自己紹介
H.Hiro
(Maraigue)
H.Hiro
(◕‿‿◕)
←
これが
アイコン
です
JR由仁駅の
近くに
あります
大学院生(大学9年目)
アルゴリズムの開発やってます
普段はRubyの人です
でもC++もよく書きます
他にはC#とかPythonとか
C++は主に研究で利用
Boostは全然使えてません
でも使い始めようと思ってます
昨日はRuby勉強会で
「ぽぽぽぽーん」言いすぎて
   すみませんでした
  http://www.slideshare.net/
maraigue/201172-ruby-rubygems
最近、C++を
 書く機会が
 増えていて
C++でも
もっと遊びたい
  お年頃
C++のマクロや
テンプレートで
もっと遊びたい
   お年頃
今日はそんな
話をしたいと
 思います
お題
末尾再帰最適化
って何?
関数の再帰呼び出しが
 その関数の末尾だけに
   ある場合には
ループに置き換えることで
処理効率を良くできること
言葉じゃ説明
       しにくいので
     コードお見せします
Python: http://d.hatena.ne.jp/wasabiz/20110118/1295335821

Ruby: http://d.hatena.ne.jp/athos/20110119/p1
これの
面白いところは
関数定義部が
普通の再帰のコードなのに
def sum(n, acc=0):
    if n == 0:
        return acc
    else:
        return sum(n-1, acc+n)
一言付け加えるだけで
最適化されちゃったこと
@tail_recursive # ←これ!注目!
def sum(n, acc=0):
    if n == 0:
        return acc
    else:
        return sum(n-1, acc+n)
実用性は
ないかもしれないけど
    ロマンが
  ありますよね!
じゃあこれを
 C++で行うには
どうすればよいか?
札幌C++勉強会#2


 C++のマクロはどこまで
  関数をいじれるのか
~「Pythonで末尾再帰最適化」問題から~

              H.Hiro(Maraigue)
             Twitter: @h_hiro_
※「コンパイラが最適化
してくれるよ」ってツッコミは
 ご遠慮頂けると幸いです
理想的には
元の関数がこんな感じなら
long long sum
(long long count,
long long acc = 0){
    if(count == 0) return acc;
    return sum(count–1,
               acc+count);
}
↓これくらい楽に書ければいいよね
TCO(long long sum)
(long long count,
long long acc = 0){
    if(count == 0) return acc;
    return sum(count–1,
               acc+count);
}
でも
たぶん
無理!
じゃあ、どこまで
  できるか
 やってみよう
その前に:
C++のマクロの基本
#define TRUE 1
…
update(TRUE);
#define TRUE 1
…
update(TRUE);
// ↑コンパイル前に
// update(1)に置き換えられる
#define HOGE(a, b) (a*b)
…
HOGE(1+2, 3+4);
#define HOGE(a, b) (a*b)
…
HOGE(1+2, 3+4);
// ↑コンパイル前に
// HOGE(1+2*3+4)に
// 置き換えられる
#define HOGE(a, b) (a*b)
…
HOGE(1+2, 3+4);
// ↑コンパイル前に
// HOGE(1+2*3+4)に ←あれ?
// 置き換えられる
#define HOGE(a, b) ((a)*(b))
…
HOGE(1+2, 3+4);
// ↑コンパイル前に
// HOGE((1+2)*(3+4))に
// 置き換えられる
では実際に以下の関数をいじろう
long long sum
(long long count,
long long acc = 0){
    if(count == 0) return acc;
    return sum(count–1,
               acc+count);
}
(ここから
ライブコーディング)
ここまでできた!
まだうまく
    出来ないか?
●
 引数の数によらない表記
●
 「long long, sum」を
  「long long sum」と書けないか?
Boostだと
   黒魔術的な
マクロとかテンプレート
  とか多いので
何とか
出来るかも…
しかし、私は
 そこまでの知識を
持ち合わせてない><
協力求む!
(ここから
ライブコーディング)
To Be
Continued
  (たぶん)
ソースコードはこちら
http://gist.github.com/1062342

Weitere ähnliche Inhalte

Was ist angesagt?

Real World OCamlを読んでLispと協調してみた
Real World OCamlを読んでLispと協調してみたReal World OCamlを読んでLispと協調してみた
Real World OCamlを読んでLispと協調してみた
blackenedgold
 
すごいH 第12章モノイド
すごいH 第12章モノイドすごいH 第12章モノイド
すごいH 第12章モノイド
Shinta Hatatani
 

Was ist angesagt? (20)

(define)なしで再帰関数を定義する
(define)なしで再帰関数を定義する(define)なしで再帰関数を定義する
(define)なしで再帰関数を定義する
 
Pfi Seminar 2010 1 7
Pfi Seminar 2010 1 7Pfi Seminar 2010 1 7
Pfi Seminar 2010 1 7
 
Real World OCamlを読んでLispと協調してみた
Real World OCamlを読んでLispと協調してみたReal World OCamlを読んでLispと協調してみた
Real World OCamlを読んでLispと協調してみた
 
関数型プログラミング入門 with OCaml
関数型プログラミング入門 with OCaml関数型プログラミング入門 with OCaml
関数型プログラミング入門 with OCaml
 
Hupc 1
Hupc 1Hupc 1
Hupc 1
 
brainfuckを吐く自作言語bf-reusable
brainfuckを吐く自作言語bf-reusablebrainfuckを吐く自作言語bf-reusable
brainfuckを吐く自作言語bf-reusable
 
Map
MapMap
Map
 
Python 機械学習プログラミング データ分析ライブラリー解説編
Python 機械学習プログラミング データ分析ライブラリー解説編Python 機械学習プログラミング データ分析ライブラリー解説編
Python 機械学習プログラミング データ分析ライブラリー解説編
 
Introduction to Categorical Programming (Revised)
Introduction to Categorical Programming (Revised)Introduction to Categorical Programming (Revised)
Introduction to Categorical Programming (Revised)
 
中3女子が狂える本当に気持ちのいい constexpr
中3女子が狂える本当に気持ちのいい constexpr中3女子が狂える本当に気持ちのいい constexpr
中3女子が狂える本当に気持ちのいい constexpr
 
Introduction to Categorical Programming
Introduction to Categorical ProgrammingIntroduction to Categorical Programming
Introduction to Categorical Programming
 
自動定理証明の紹介
自動定理証明の紹介自動定理証明の紹介
自動定理証明の紹介
 
C++ ポインタ ブートキャンプ
C++ ポインタ ブートキャンプC++ ポインタ ブートキャンプ
C++ ポインタ ブートキャンプ
 
Cython intro prelerease
Cython intro prelereaseCython intro prelerease
Cython intro prelerease
 
すごいHaskell楽しく学ぼう 第6章
すごいHaskell楽しく学ぼう 第6章すごいHaskell楽しく学ぼう 第6章
すごいHaskell楽しく学ぼう 第6章
 
これからの「言語」の話をしよう ―― 未来を生きるためのツール
これからの「言語」の話をしよう ―― 未来を生きるためのツールこれからの「言語」の話をしよう ―― 未来を生きるためのツール
これからの「言語」の話をしよう ―― 未来を生きるためのツール
 
関数プログラミング入門
関数プログラミング入門関数プログラミング入門
関数プログラミング入門
 
 
  
 
 
モナドがいっぱい!
モナドがいっぱい!モナドがいっぱい!
モナドがいっぱい!
 
すごいH 第12章モノイド
すごいH 第12章モノイドすごいH 第12章モノイド
すごいH 第12章モノイド
 

Andere mochten auch

2012.11.17 CLR/H&札幌C++勉強会 発表資料「部分文字列の取得を 効率よく!楽に! - fundoshi.hppの紹介と今後の予定 -」
2012.11.17 CLR/H&札幌C++勉強会 発表資料「部分文字列の取得を効率よく!楽に! - fundoshi.hppの紹介と今後の予定 -」2012.11.17 CLR/H&札幌C++勉強会 発表資料「部分文字列の取得を効率よく!楽に! - fundoshi.hppの紹介と今後の予定 -」
2012.11.17 CLR/H&札幌C++勉強会 発表資料「部分文字列の取得を 効率よく!楽に! - fundoshi.hppの紹介と今後の予定 -」
Hiro H.
 
2011.7.2 Ruby勉強会@札幌 「はじめてのRubygemsへのライブラリ公開」
2011.7.2 Ruby勉強会@札幌 「はじめてのRubygemsへのライブラリ公開」2011.7.2 Ruby勉強会@札幌 「はじめてのRubygemsへのライブラリ公開」
2011.7.2 Ruby勉強会@札幌 「はじめてのRubygemsへのライブラリ公開」
Hiro H.
 
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.
 
Boost.GraphでJR全線乗り尽くしプランを立てる - プログラミング生放送+CLR/H+Sapporo.cpp 勉強会@札幌 (2014.7.12)
Boost.GraphでJR全線乗り尽くしプランを立てる - プログラミング生放送+CLR/H+Sapporo.cpp 勉強会@札幌 (2014.7.12)Boost.GraphでJR全線乗り尽くしプランを立てる - プログラミング生放送+CLR/H+Sapporo.cpp 勉強会@札幌 (2014.7.12)
Boost.GraphでJR全線乗り尽くしプランを立てる - プログラミング生放送+CLR/H+Sapporo.cpp 勉強会@札幌 (2014.7.12)
Hiro H.
 

Andere mochten auch (20)

2012.11.17 CLR/H&札幌C++勉強会 発表資料「部分文字列の取得を 効率よく!楽に! - fundoshi.hppの紹介と今後の予定 -」
2012.11.17 CLR/H&札幌C++勉強会 発表資料「部分文字列の取得を効率よく!楽に! - fundoshi.hppの紹介と今後の予定 -」2012.11.17 CLR/H&札幌C++勉強会 発表資料「部分文字列の取得を効率よく!楽に! - fundoshi.hppの紹介と今後の予定 -」
2012.11.17 CLR/H&札幌C++勉強会 発表資料「部分文字列の取得を 効率よく!楽に! - fundoshi.hppの紹介と今後の予定 -」
 
C++用将棋ライブラリ "OpenShogiLib"の紹介
C++用将棋ライブラリ"OpenShogiLib"の紹介C++用将棋ライブラリ"OpenShogiLib"の紹介
C++用将棋ライブラリ "OpenShogiLib"の紹介
 
2011.7.2 Ruby勉強会@札幌 「はじめてのRubygemsへのライブラリ公開」
2011.7.2 Ruby勉強会@札幌 「はじめてのRubygemsへのライブラリ公開」2011.7.2 Ruby勉強会@札幌 「はじめてのRubygemsへのライブラリ公開」
2011.7.2 Ruby勉強会@札幌 「はじめてのRubygemsへのライブラリ公開」
 
C++ template-primer
C++ template-primerC++ template-primer
C++ template-primer
 
Sapporocpp#2 exception-primer
Sapporocpp#2 exception-primerSapporocpp#2 exception-primer
Sapporocpp#2 exception-primer
 
コンピュータに「最長しりとり」「最短距離でのJR線全線乗り尽くし」を解いてもらった方法
コンピュータに「最長しりとり」「最短距離でのJR線全線乗り尽くし」を解いてもらった方法コンピュータに「最長しりとり」「最短距離でのJR線全線乗り尽くし」を解いてもらった方法
コンピュータに「最長しりとり」「最短距離でのJR線全線乗り尽くし」を解いてもらった方法
 
最近のC++ @ Sapporo.cpp #5
最近のC++ @ Sapporo.cpp #5最近のC++ @ Sapporo.cpp #5
最近のC++ @ Sapporo.cpp #5
 
Introduction to boost test
Introduction to boost testIntroduction to boost test
Introduction to boost test
 
rsyncで差分バックアップしようぜ!
rsyncで差分バックアップしようぜ!rsyncで差分バックアップしようぜ!
rsyncで差分バックアップしようぜ!
 
オーディオ用レベルメータを作ってみよう
オーディオ用レベルメータを作ってみようオーディオ用レベルメータを作ってみよう
オーディオ用レベルメータを作ってみよう
 
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」
 
名古屋市営地下鉄最小距離完乗
名古屋市営地下鉄最小距離完乗名古屋市営地下鉄最小距離完乗
名古屋市営地下鉄最小距離完乗
 
規格書で読むC++11のスレッド
規格書で読むC++11のスレッド規格書で読むC++11のスレッド
規格書で読むC++11のスレッド
 
2011.6.4 TDD bootcamp 札幌2.0 自己紹介LT
2011.6.4 TDD bootcamp 札幌2.0 自己紹介LT2011.6.4 TDD bootcamp 札幌2.0 自己紹介LT
2011.6.4 TDD bootcamp 札幌2.0 自己紹介LT
 
イマドキC++erのモテカワリソース管理術
イマドキC++erのモテカワリソース管理術イマドキC++erのモテカワリソース管理術
イマドキC++erのモテカワリソース管理術
 
競技プログラミングのためのC++入門
競技プログラミングのためのC++入門競技プログラミングのためのC++入門
競技プログラミングのためのC++入門
 
C++ マルチスレッドプログラミング
C++ マルチスレッドプログラミングC++ マルチスレッドプログラミング
C++ マルチスレッドプログラミング
 
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
 
Boost.GraphでJR全線乗り尽くしプランを立てる - プログラミング生放送+CLR/H+Sapporo.cpp 勉強会@札幌 (2014.7.12)
Boost.GraphでJR全線乗り尽くしプランを立てる - プログラミング生放送+CLR/H+Sapporo.cpp 勉強会@札幌 (2014.7.12)Boost.GraphでJR全線乗り尽くしプランを立てる - プログラミング生放送+CLR/H+Sapporo.cpp 勉強会@札幌 (2014.7.12)
Boost.GraphでJR全線乗り尽くしプランを立てる - プログラミング生放送+CLR/H+Sapporo.cpp 勉強会@札幌 (2014.7.12)
 

Ähnlich wie 2011.7.3 札幌C++勉強会#2「C++のマクロはどこまで関数をいじれるのか」

C++の未来と演算子オーバーロード
C++の未来と演算子オーバーロードC++の未来と演算子オーバーロード
C++の未来と演算子オーバーロード
Sigureya
 
2008.10.18 L4u Tech Talk
2008.10.18 L4u Tech Talk2008.10.18 L4u Tech Talk
2008.10.18 L4u Tech Talk
mitamex4u
 
Unity2015_No10_~UGUI&Audio~
Unity2015_No10_~UGUI&Audio~Unity2015_No10_~UGUI&Audio~
Unity2015_No10_~UGUI&Audio~
CHY72
 
Boost.Flyweight
Boost.FlyweightBoost.Flyweight
Boost.Flyweight
gintenlabo
 
Define and expansion of cpp macro
Define and expansion of cpp macroDefine and expansion of cpp macro
Define and expansion of cpp macro
digitalghost
 

Ähnlich wie 2011.7.3 札幌C++勉強会#2「C++のマクロはどこまで関数をいじれるのか」 (20)

C++の未来と演算子オーバーロード
C++の未来と演算子オーバーロードC++の未来と演算子オーバーロード
C++の未来と演算子オーバーロード
 
C++ tips 3 カンマ演算子編
C++ tips 3 カンマ演算子編C++ tips 3 カンマ演算子編
C++ tips 3 カンマ演算子編
 
2008.10.18 L4u Tech Talk
2008.10.18 L4u Tech Talk2008.10.18 L4u Tech Talk
2008.10.18 L4u Tech Talk
 
Impractical Introduction of Boost Spirit Qi [PPT]
Impractical Introduction of Boost Spirit Qi [PPT]Impractical Introduction of Boost Spirit Qi [PPT]
Impractical Introduction of Boost Spirit Qi [PPT]
 
dwangocpp1-lt
dwangocpp1-ltdwangocpp1-lt
dwangocpp1-lt
 
boost - std - C#
boost - std - C#boost - std - C#
boost - std - C#
 
マルチコアを用いた画像処理
マルチコアを用いた画像処理マルチコアを用いた画像処理
マルチコアを用いた画像処理
 
第2回 JavaScriptから始めるプログラミング2016
第2回 JavaScriptから始めるプログラミング2016第2回 JavaScriptから始めるプログラミング2016
第2回 JavaScriptから始めるプログラミング2016
 
Unity2015_No10_~UGUI&Audio~
Unity2015_No10_~UGUI&Audio~Unity2015_No10_~UGUI&Audio~
Unity2015_No10_~UGUI&Audio~
 
わんくま同盟大阪勉強会#61
わんくま同盟大阪勉強会#61わんくま同盟大阪勉強会#61
わんくま同盟大阪勉強会#61
 
C++でCプリプロセッサを作ったり速くしたりしたお話
C++でCプリプロセッサを作ったり速くしたりしたお話C++でCプリプロセッサを作ったり速くしたりしたお話
C++でCプリプロセッサを作ったり速くしたりしたお話
 
Boost.Flyweight
Boost.FlyweightBoost.Flyweight
Boost.Flyweight
 
Processing
ProcessingProcessing
Processing
 
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
 
プログラミング講座 #2 複雑なデータの扱い
プログラミング講座 #2 複雑なデータの扱いプログラミング講座 #2 複雑なデータの扱い
プログラミング講座 #2 複雑なデータの扱い
 
Ilerpg Study 004
Ilerpg Study 004Ilerpg Study 004
Ilerpg Study 004
 
BoostAsioで可読性を求めるのは間違っているだろうか
BoostAsioで可読性を求めるのは間違っているだろうかBoostAsioで可読性を求めるのは間違っているだろうか
BoostAsioで可読性を求めるのは間違っているだろうか
 
第3回 JavaScriptから始めるプログラミング2016
第3回 JavaScriptから始めるプログラミング2016第3回 JavaScriptから始めるプログラミング2016
第3回 JavaScriptから始めるプログラミング2016
 
C++14言語編
C++14言語編C++14言語編
C++14言語編
 

Mehr von Hiro H.

わんくま同盟 名古屋勉強会 #43 ライトニングトーク「Firefoxがver.57~(Quantum)にアップグレードされて困ったこと・やったこと」
わんくま同盟 名古屋勉強会 #43 ライトニングトーク「Firefoxがver.57~(Quantum)にアップグレードされて困ったこと・やったこと」わんくま同盟 名古屋勉強会 #43 ライトニングトーク「Firefoxがver.57~(Quantum)にアップグレードされて困ったこと・やったこと」
わんくま同盟 名古屋勉強会 #43 ライトニングトーク「Firefoxがver.57~(Quantum)にアップグレードされて困ったこと・やったこと」
Hiro H.
 
その文字列検索、std::string::findだけで大丈夫ですか?【Sapporo.cpp 第8回勉強会(2014.12.27)】
その文字列検索、std::string::findだけで大丈夫ですか?【Sapporo.cpp 第8回勉強会(2014.12.27)】その文字列検索、std::string::findだけで大丈夫ですか?【Sapporo.cpp 第8回勉強会(2014.12.27)】
その文字列検索、std::string::findだけで大丈夫ですか?【Sapporo.cpp 第8回勉強会(2014.12.27)】
Hiro H.
 

Mehr von Hiro H. (18)

pandas便利だけどデフォルトパラメータでファイルを読み込むな!
pandas便利だけどデフォルトパラメータでファイルを読み込むな!pandas便利だけどデフォルトパラメータでファイルを読み込むな!
pandas便利だけどデフォルトパラメータでファイルを読み込むな!
 
式を書くだけで最適化計算してほしい!~CVXPY編~
式を書くだけで最適化計算してほしい!~CVXPY編~式を書くだけで最適化計算してほしい!~CVXPY編~
式を書くだけで最適化計算してほしい!~CVXPY編~
 
旅行「#重複乗車禁止で名鉄完乗」とその数学的な解説
旅行「#重複乗車禁止で名鉄完乗」とその数学的な解説旅行「#重複乗車禁止で名鉄完乗」とその数学的な解説
旅行「#重複乗車禁止で名鉄完乗」とその数学的な解説
 
シンデレラガール総選挙の「50位圏内の難しさ」はいかほどか?(23:20更新)
シンデレラガール総選挙の「50位圏内の難しさ」はいかほどか?(23:20更新)シンデレラガール総選挙の「50位圏内の難しさ」はいかほどか?(23:20更新)
シンデレラガール総選挙の「50位圏内の難しさ」はいかほどか?(23:20更新)
 
「MVが3人な曲の一覧」って取得できます?(デレステ・ミリシタ・エムステ)
「MVが3人な曲の一覧」って取得できます?(デレステ・ミリシタ・エムステ)「MVが3人な曲の一覧」って取得できます?(デレステ・ミリシタ・エムステ)
「MVが3人な曲の一覧」って取得できます?(デレステ・ミリシタ・エムステ)
 
配列の要素挿入・削除もランダムアクセスも両方高速にできる?
配列の要素挿入・削除もランダムアクセスも両方高速にできる?配列の要素挿入・削除もランダムアクセスも両方高速にできる?
配列の要素挿入・削除もランダムアクセスも両方高速にできる?
 
PCSじゃないよ、PCAだよ
PCSじゃないよ、PCAだよPCSじゃないよ、PCAだよ
PCSじゃないよ、PCAだよ
 
声優やぞ!~シンデレラガールズにおける配役の歴史のRDFデータ化~
声優やぞ!~シンデレラガールズにおける配役の歴史のRDFデータ化~声優やぞ!~シンデレラガールズにおける配役の歴史のRDFデータ化~
声優やぞ!~シンデレラガールズにおける配役の歴史のRDFデータ化~
 
スマホ音楽ゲームの動画から譜面をデータ化したかった
スマホ音楽ゲームの動画から譜面をデータ化したかったスマホ音楽ゲームの動画から譜面をデータ化したかった
スマホ音楽ゲームの動画から譜面をデータ化したかった
 
シンデレラガールズ声優の増え方まとめ
シンデレラガールズ声優の増え方まとめシンデレラガールズ声優の増え方まとめ
シンデレラガールズ声優の増え方まとめ
 
札幌C++勉強会 #13「最近、仕事でC++11以降の新規格が役に立ったシーン紹介」
札幌C++勉強会 #13「最近、仕事でC++11以降の新規格が役に立ったシーン紹介」札幌C++勉強会 #13「最近、仕事でC++11以降の新規格が役に立ったシーン紹介」
札幌C++勉強会 #13「最近、仕事でC++11以降の新規格が役に立ったシーン紹介」
 
わんくま同盟 名古屋勉強会 #43 ライトニングトーク「Firefoxがver.57~(Quantum)にアップグレードされて困ったこと・やったこと」
わんくま同盟 名古屋勉強会 #43 ライトニングトーク「Firefoxがver.57~(Quantum)にアップグレードされて困ったこと・やったこと」わんくま同盟 名古屋勉強会 #43 ライトニングトーク「Firefoxがver.57~(Quantum)にアップグレードされて困ったこと・やったこと」
わんくま同盟 名古屋勉強会 #43 ライトニングトーク「Firefoxがver.57~(Quantum)にアップグレードされて困ったこと・やったこと」
 
Linuxにて複数のコマンドを並列実行(同時実行数の制限付き)
Linuxにて複数のコマンドを並列実行(同時実行数の制限付き)Linuxにて複数のコマンドを並列実行(同時実行数の制限付き)
Linuxにて複数のコマンドを並列実行(同時実行数の制限付き)
 
最近デレステ創作譜面作ってるので技術的な見地から話します
最近デレステ創作譜面作ってるので技術的な見地から話します最近デレステ創作譜面作ってるので技術的な見地から話します
最近デレステ創作譜面作ってるので技術的な見地から話します
 
デレステの劇場で登場したアイドルの回数の統計取ってます
デレステの劇場で登場したアイドルの回数の統計取ってますデレステの劇場で登場したアイドルの回数の統計取ってます
デレステの劇場で登場したアイドルの回数の統計取ってます
 
MSYS2使いはじめました
MSYS2使いはじめましたMSYS2使いはじめました
MSYS2使いはじめました
 
角錐や円錐が、角柱や円柱の体積の3分の1であることを積分・極限抜きで証明してみる
角錐や円錐が、角柱や円柱の体積の3分の1であることを積分・極限抜きで証明してみる角錐や円錐が、角柱や円柱の体積の3分の1であることを積分・極限抜きで証明してみる
角錐や円錐が、角柱や円柱の体積の3分の1であることを積分・極限抜きで証明してみる
 
その文字列検索、std::string::findだけで大丈夫ですか?【Sapporo.cpp 第8回勉強会(2014.12.27)】
その文字列検索、std::string::findだけで大丈夫ですか?【Sapporo.cpp 第8回勉強会(2014.12.27)】その文字列検索、std::string::findだけで大丈夫ですか?【Sapporo.cpp 第8回勉強会(2014.12.27)】
その文字列検索、std::string::findだけで大丈夫ですか?【Sapporo.cpp 第8回勉強会(2014.12.27)】
 

2011.7.3 札幌C++勉強会#2「C++のマクロはどこまで関数をいじれるのか」