Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Upcoming SlideShare
What to Upload to SlideShare
Next
Download to read offline and view in fullscreen.

0

Share

Download to read offline

セミコロンレスc++

Download to read offline

セミコロンを使わずにc++を書きたい

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all
  • Be the first to like this

セミコロンレスc++

  1. 1. セミコロンレスc++ KMC id : kazakami twitter @Kazakami_9
  2. 2. 自己紹介   KMC id : kazakami   github: kazakami   twitter : @Kazakami_9   :tofu_on_fire:   Network (destruction) Engineer   留年はいいぞ 📛
  3. 3. 自己紹介   https://よさ.jp   http://😇.よさ.jp
  4. 4. セミコロンレスc++   ある人「c++はセミコロン書かなきゃいけないからダサい」 c++はセミコロンなくても書ける
  5. 5. Hello World void main(){ std::cout << “Hello World” << std::endl; } ダサいc++ void main(){ if (std::cout << “Hello World” << std::endl){} } セミコロンレスc++
  6. 6. (返り値が非voidな)関数呼び出し f(arg); ダサいc++ if ( f(arg) ){} セミコロンレスc++
  7. 7. (返り値がvoidな)関数呼び出し   ifの条件文には何かしらの値を入れなければならない   if (void_return_func()){} はできない   ところでカンマ演算子って知ってますか   e1, e2 はe1を評価し、その値を捨てe2の値を返す   (void_return_func(), 0)の値は0
  8. 8. (返り値がvoidな)関数呼び出し void_return_func(arg); ダサいc++ if ( void_return_func(arg), 0 ){} セミコロンレスc++
  9. 9. 変数宣言 { int i = 114514; //iを使う式 } ダサいc++ (for i : {114514}){ //iを使う式 } セミコロンレスc++
  10. 10. forループ for (int i = 0; i < 810; i++){ exp; } ダサいc++ (for i : {0}){ while (i < 810){ if (exp){} if (i++){} } } セミコロンレスc++
  11. 11. (返り値がvoidな)関数宣言   セミコロンレスc++ではreturn文を記述できない   しかしc++にはポインタがある!!
  12. 12. (返り値がvoidな)関数宣言 void plus (int a, int b. int * r){ if (*r = a + b) {} } void main(){ for (int * r : {new int(0)}){ if (plus(4, 5, r), 0){} if (std::cout << *r << std::endl){} } } セミコロンレスc++
  13. 13. (返り値が非voidな)関数宣言   毎回newするのは面倒   やっぱりreturnしたい   通常return は値をアキュムレートレジスタに乗せて戻っている   値がアキュムレートレジスタに乗った状態で戻ればいい   returnなくても関数終端に到達すれば戻る   式は評価された後アキュムレートレジスタに乗せられる   式を評価した後関数終端に達すれば良い   レジスタの気持ちになろう!!
  14. 14. (返り値が非voidな)関数宣言 template <class T> T id(T a){ if (a) {} } int plus(int a, int b){ if (id(a + b)) {} } int main(){ f (std::cout << plus(a, b) << std::endl) {} } セミコロンレスc++
  15. 15. 今後の課題   構造体をスマートに表現する
  16. 16. まとめ   セミコロンレスc++でも変数、関数,if, forを扱える   セミコロンフリーでダサくないオシャレなc++ライフ
  17. 17. 参考文献 Semicolonless Java 2012 - プログラマーの脳みそ      http://d.hatena.ne.jp/Nagise/20120407/1333767870   セミコロンレスc++をやろうと思った元ネタ

セミコロンを使わずにc++を書きたい

Views

Total views

5,813

On Slideshare

0

From embeds

0

Number of embeds

28

Actions

Downloads

4

Shares

0

Comments

0

Likes

0

×