東方算程譚

Oriental Code Talk ── επιστημηが与太をこく、弾幕とは無縁のシロモノ。

目次

Blog 利用状況

ニュース

著作とお薦めの品々は

著作とお薦めの品々は
東方熱帯林へ。

あわせて読みたい

わんくま

  1. 東京勉強会#2
    C++/CLI カクテル・レシピ
  2. 東京勉強会#3
    template vs. generics
  3. 大阪勉強会#6
    C++むかしばなし
  4. 東京勉強会#7
    C++むかしばなし
  5. 東京勉強会#8
    STL/CLRによるGeneric Programming
  6. TechEd 2007 @YOKOHAMA
    C++・C++/CLI・C# 適材適所
  7. 東京勉強会#14
    Making of BOF
  8. 東京勉強会#15
    状態遷移
  9. 名古屋勉強会#2
    WinUnit - お気楽お手軽UnitTest

CodeZine

  1. Cで実現する「ぷちオブジェクト指向」
  2. CUnitによるテスト駆動開発
  3. SQLiteで組み込みDB体験(2007年版)
  4. C++/CLIによるCライブラリの.NET化
  5. C# 1.1からC# 3.0まで~言語仕様の進化
  6. BoostでC++0xのライブラリ「TR1」を先取りしよう (1)
  7. BoostでC++0xのライブラリ「TR1」を先取りしよう (2)
  8. BoostでC++0xのライブラリ「TR1」を先取りしよう (3)
  9. BoostでC++0xのライブラリ「TR1」を先取りしよう (4)
  10. BoostでC++0xのライブラリ「TR1」を先取りしよう (5)
  11. C/C++に対応した、もうひとつのUnitTestFramework ─ WinUnit
  12. SQLiteで"おこづかいちょう"
  13. STL/CLRツアーガイド
  14. マージ・ソート : 巨大データのソート法
  15. ヒープソートのアルゴリズム
  16. C++0xの新機能「ラムダ式」を次期Visual Studioでいち早く試す
  17. .NETでマンデルブロ集合を描く
  18. .NETでマンデルブロ集合を描く(後日談)
  19. C++/CLI : とある文字列の相互変換(コンバージョン)
  20. インテルTBBによる選択ソートの高速化
  21. インテルTBB3.0 によるパイプライン処理
  22. Visual C++ 2010に追加されたSTLアルゴリズム
  23. Visual C++ 2010に追加されたSTLコンテナ「forward_list」
  24. shared_ptrによるObserverパターンの実装
  25. .NETでマンデルブロ集合を描く(番外編) ── OpenCLで超並列コンピューティング
  26. StateパターンでCSVを読む
  27. 状態遷移表からStateパターンを自動生成する
  28. 「ソートも、サーチも、あるんだよ」~標準C++ライブラリにみるアルゴリズムの面白さ
  29. インテルTBBの同期メカニズム
  30. なぜsetを使っちゃいけないの?
  31. WPFアプリケーションで腕試し ~C++でもWPFアプリを
  32. C++11 : スレッド・ライブラリひとめぐり
  33. Google製のC++ Unit Test Framework「Google Test」を使ってみる
  34. メールでデータベースを更新するココロミ
  35. Visitorパターンで遊んでみたよ
  36. Collection 2題:「WPFにバインドできる辞書」と「重複を許す検索set」
  37. Visual C++ 2012:stateless-lambdaとSQLiteのぷち拡張
  38. 「Visual C++ Compiler November 2012 CTP」で追加された6つの新機能

@IT

  1. Vista時代のVisual C++の流儀(前編)Vista到来。既存C/C++資産の.NET化を始めよう!
  2. Vista時代のVisual C++の流儀(中編)MFCから.NETへの実践的移行計画
  3. Vista時代のVisual C++の流儀(後編) STL/CLRによるDocument/Viewアーキテクチャ
  4. C++開発者のための単体テスト入門 第1回 C++開発者の皆さん。テスト、ちゃんとしていますか?
  5. C++開発者のための単体テスト入門 第2回 C++アプリケーションの効率的なテスト手法(CppUnit編)
  6. C++開発者のための単体テスト入門 第3回 C++アプリケーションの効率的なテスト手法(NUnit編)

AWARDS


Microsoft MVP
for Visual Developer - Visual C++


Wankuma MVP
for いぢわる C++


Nyantora MVP
for こくまろ中国茶

Xbox

Links

記事カテゴリ

書庫

日記カテゴリ

επι的"Hello, world" for Visual Studio 2010 β1

いぇーい、VS2010だぞー♪

なんつったってC++屋ですからね、
C++0Xにどんだけ迫ってるかが見ものなわけで。
一発目の"Hello, world"はコレ。

#include <iostream>
#include <string>
#include <vector>
#include <algorithm>

int main() {
    std::vector<std::string> vs;
    vs.push_back("zero");
    vs.push_back("one");
    vs.push_back("two");
    std::for_each(vs.begin(),vs.end(),
      
[](const std::string& x) -> void { std::cout << x << std::endl; });
}

きゃっほーいラムダ式書けるぅ。うれしぃようおうぉぅ。

投稿日時 : 2009年5月21日 11:52

コメントを追加

# re: επι的"Hello, world" for Visual Studio 2010 β1 2009/05/21 11:57 επιστημη

んでもって auto (C#におけるvar)もイケました。
これでC#に勝つる。勝つるぞっ!

# べ、べつに負けてるなんて思ってないんだからねっ!

# re: επι的"Hello, world" for Visual Studio 2010 β1 2009/05/21 12:15 aetos

> これでC#に勝つる。勝つるぞっ!

しかし WPF だの Linq だのは如何ともし難いのであった…
頑張れC++! 負けるなC++!

# re: επι的"Hello, world" for Visual Studio 2010 β1 2009/05/21 12:35 あんどちん

> 一発目の"Hello, world"はコレ。
せんせーこのプログラムで
Hello, world
って出力されますかw?

# re: επι的"Hello, world" for Visual Studio 2010 β1 2009/05/21 12:39 επιστημη

> WPF だの Linq だの
なしておまいは傷口に塩擦りこむよなことゆー...

ふ、ふんだ。あたしお絵描きなんか興味ないわ。
LINQだってRange-baseライブラリさえなんとかなれば...

い、yieldなんか欲しくないんだからねっ!
↑嘘。すげーホスイ。

# re: επι的"Hello, world" for Visual Studio 2010 β1 2009/05/21 12:41 επιστημη

> 出力されますかw?

だーかーらー "Hello, world" は処女航海ってことよぉ。
初めてなんだから優しくしてよっ

# re: επι的"Hello, world" for Visual Studio 2010 β1 2009/05/21 12:43 アキラ

initializer listがないなんて!w

-> void
は省略してもおk。

# re: επι的"Hello, world" for Visual Studio 2010 β1 2009/05/21 12:55 επιστημη

> initializer listがないなんて!w
いやまったく。
入れちゃうとSTL総とっかえになっちゃうからかしら。

> void は省略してもおk。
のハズなんだけど抜いたらコケました > VC10β

VS2010βの feed-back はドコに投げたらいぃんだっけ > だれぞ

# re: επι的"Hello, world" for Visual Studio 2010 β1 2009/05/21 13:34 zak

std::copy うにゅうにゅ
std::ostream_iterator ごにょごにょ

しなくてよくなっただけで目から滝が・・・!

#おんなしよーなサンプル書きますた

# re: επι的"Hello, world" for Visual Studio 2010 β1 2009/05/21 13:43 アキラ

> 入れちゃうとSTL総とっかえになっちゃうからかしら。
ライブラリへの影響は、コンテナのコンストラクタ、代入演算子、assignメンバくらいですね。


> のハズなんだけど抜いたらコケました
あれ?CTPのときはできたのに。
http://d.hatena.ne.jp/faith_and_brave/20081030/1225358156

# re: επι的"Hello, world" for Visual Studio 2010 β1 2009/05/21 13:43 zak

>feedback
ココ?
https://connect.microsoft.com/VisualStudio/Feedback

最後のほうにβのフィードバックが既に入ってましたが・・・

# re: επι的"Hello, world" for Visual Studio 2010 β1 2009/05/21 13:51 επιστημη

>>> void は省略してもおk。
>> のハズなんだけど抜いたらコケました
> あれ?CTPのときはできたのに。

あれま。チクっとかなきゃ。

> https://connect.microsoft.com/VisualStudio/Feedback

ありがとさんですー

# re: επι的"Hello, world" for Visual Studio 2010 β1 2009/05/21 13:52 まつあに

ほー!ラムダいけるんだーー!!

ところで、もちろんこれもOKなんすよね?

vs = {"zero", "one", "two"};

# template本全然貢献できなくてすみません m<_ _>m
# 目は通していたんですが。。。

# re: επι的"Hello, world" for Visual Studio 2010 β1 2009/05/21 14:03 επιστημη

> ところで、もちろんこれもOKなんすよね?
> vs = {"zero", "one", "two"};

ごめんすまんゆるせ。
initializer-listをサポートしておらんのぢゃ。

> 目は通していたんですが
痛くて痛くて査読どころじゃなくて、ですね。わかります。

# re: επι的"Hello, world" for Visual Studio 2010 β1 2009/05/21 14:15 επιστημη

> ライブラリへの影響

うん、さほどのbig-changeじゃないかもしれんけど、
なんせナカミは"ぷらうがセンセ"んとこのものだし ^^;
ライブラリは処理系がちゃんとできてんと検証できひんだろし。

# re: επι的"Hello, world" for Visual Studio 2010 β1 2009/05/21 14:21 えムナウ

NDAメール貰ったんで内容については自重していたんだけど。
ホントのところはどうなんでしょうねぇ。

# re: επι的"Hello, world" for Visual Studio 2010 β1 2009/05/21 14:33 επιστημη

> NDA

MSDNサブスクライバに一斉告知してんだからNDAもヘッタクレもないんちゃう?

# re: επι的"Hello, world" for Visual Studio 2010 β1 2009/05/21 14:41 えムナウ

フィードバックはこちらへ。 Submit a Bug / Forums
http://msdn.microsoft.com/en-us/vstudio/dd582936.aspx

いろんな情報源はこちら
http://www.microsoft.com/visualstudio/en-us/products/2010/default.mspx

NDA 2009/05/19 のメールが何を意味しているかが疑問なので。
MSDNサブスクライバに出ているのでNDAではないと思うのだが。

# re: επι的"Hello, world" for Visual Studio 2010 β1 2009/05/21 15:04 えムナウ

一般公開されましたので問題なくなりました>NDA
https://www.microsoft.com/downloads/details.aspx?FamilyID=75cbcbcd-b0e8-40ea-adae-85714e8984e3&displaylang=en

# re: επι的"Hello, world" for Visual Studio 2010 β1 2009/05/21 15:06 えムナウ

あ、ISO版も
http://www.microsoft.com/downloads/details.aspx?FamilyID=3296bb4f-d8ba-4cfd-aa95-a424c5913f6b&displaylang=en

# re: επι的"Hello, world" for Visual Studio 2010 β1 2009/05/21 15:48 えムナウ

NDAの顛末。
今回のNDAについてはMVP Connect からダウンロードについてはNDA対象でしたが、
MSDN サブスクライバについてはNDAに含まれません。
しかしながら、MSDN のサブクスライバと同時のアナウンスとなってしまい、
内容も同じものでしたので、結果的にはNDAではございませんでした。

# re: επι的"Hello, world" for Visual Studio 2010 β1 2009/05/21 15:58 επιστημη

なるほど、from MVP Connect != from MSDN だったらァレだけど...ですか。

# re: επι的"Hello, world" for Visual Studio 2010 β1 2009/05/21 16:08 επιστημη

> あれ?CTPのときはできたのに。

ひょっとしてvoidは特別扱い? とか思って

[](const std::string& x) ->
 bool { std::cout << x << std::endl; return true; }

コレから bool を抜いたら...やっぱしコケました。
ぶっちゃけdegradeぢゃんよー(ぷんすか)

# re: επι的"Hello, world" for Visual Studio 2010 β1 2009/05/21 17:06 zak

まったく別件:

auto a = [](int x)->void{ std::cout << x << std::endl; };
std::cout << typeid( a ).name() << std::endl;

・・・'anonymous namespace'::<lambda0> 型だそーです。
無名名前空間に展開されるのかー
(カブったら困るので当然といえば当然か)

# re: επι的"Hello, world" for Visual Studio 2010 β1 2009/05/21 17:22 επιστημη

> 無名名前空間

そらまそぉだべな。
static関数と同じよな扱いね。

# re: επι的"Hello, world" for Visual Studio 2010 β1 2009/05/21 21:35 επιστημη

この件、告っときました。voteよろしく♪
https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=455176

# re: επι的"Hello, world" for Visual Studio 2010 β1 2009/05/22 13:30 zak

せんせぇがた、しつもーん。

[](int x)->void{ std::cout << x << std::endl; }; // OK

[](int x)->{ std::cout << x << std::endl; }; // NG

[](int x){ std::cout << x << std::endl; }; // OK

アロー演算子つけると戻り値の型を要求されて、なしだとvoidでもいいみたいですが、どう書くのがよろしいんでせうか?
#>C++0x仕様書嫁!
#ごもっともでございますが、後日必ず読みますんで今日のところは勘弁してください。

# re: επι的"Hello, world" for Visual Studio 2010 β1 2009/05/22 13:32 zak

すごいTypo。

>なしだとvoidでもいいみたい
なしだとなしでもいいみたい

# re: επι的"Hello, world" for Visual Studio 2010 β1 2009/05/22 15:52 アキラ

このへん読んでください。
http://d.hatena.ne.jp/faith_and_brave/20081211

# re: επι的"Hello, world" for Visual Studio 2010 β1 2009/05/22 16:13 επιστημη

えと、ナンセンスコールだったみたい。

C++0X仕様によれば:
「戻り型を省略するときは "->" も省略すべし」
がせーかいポ。

なのでCTP版で -> 残したままでも通ってたとすれば、
CTP版のバグてことに。

# re: επι的"Hello, world" for Visual Studio 2010 β1 2009/05/22 16:19 επιστημη

...てか おもっきし僕の勘違いですた。
お騒がせして申し訳ねっす _o/L

# re: επι的"Hello, world" for Visual Studio 2010 β1 2009/05/22 16:19 アキラ

あぁ、void省略して矢印残してたんですねw

# re: επι的"Hello, world" for Visual Studio 2010 β1 2009/05/22 16:30 επιστημη

そそそ ハズカチー

# re: επι的"Hello, world" for Visual Studio 2010 β1 2009/05/22 16:37 επιστημη

で、で、
[hoge]() mutable { ++hoge; }

[&hoge]() { ++hoge; }
は同じこと?

[hoge,payo]() mutable { payo = ++hoge; }

[&hoge,&payo]() { payo = ++hoge; }
は同じこと?

mutableがないと困ることあんのかしら?
ぜーんぶに & つけりゃいぃんじゃないのん?

# re: επι的"Hello, world" for Visual Studio 2010 β1 2009/05/22 17:31 επιστημη

あーそかそかそか、copy-captureしたやつをλの中で"のみ"書き換えるのが mutable なのかー。

# re: επι的"Hello, world" for Visual Studio 2010 β1 2009/05/22 17:33 zak

>アキラさん
ありがとうございますー。
読ませていただきました。

・・・デフォルトキャプチャがクール過ぎて吐血した。
後で遊んでみよ。

>「戻り型を省略するときは "->" も省略すべし」
了承!

>むたぶる
operator()は実はconst・・・ということですか?
いかん、頑張って時間作って仕様書読もう!

# re: επι的"Hello, world" for Visual Studio 2010 β1 2009/05/22 17:44 アキラ

> operator()は実はconst・・・ということですか?

そうです。

[]() const {}
って書かせる案もあったんですけど
コピーキャプチャした変数を書き換えるケースの方が少ないので
mutableを指定することになってみたいです。

# stromectol ivermectin 3 mg http://stromectolabc.com/
ivermectin 1 topical cream 2022/02/08 3:23 Busjdhj

stromectol ivermectin 3 mg http://stromectolabc.com/
ivermectin 1 topical cream

# doxycycline 200 mg https://doxycyline1st.com/
100mg doxycycline 2022/02/25 22:04 Doxycycline

doxycycline 200 mg https://doxycyline1st.com/
100mg doxycycline

# ed pills comparison https://erectiledysfunctionpills.shop/ 2022/10/14 16:23 Erectile

ed pills comparison https://erectiledysfunctionpills.shop/

# cheap erectile dysfunction pills online https://ed-pills.site/
best otc ed pills 2022/11/17 15:53 EdPills

cheap erectile dysfunction pills online https://ed-pills.site/
best otc ed pills

# free web date site https://datingonlinehot.com/
n dating site 2022/12/09 11:41 Dating

free web date site https://datingonlinehot.com/
n dating site

# ed pill https://edpills.science/
cheapest ed pills online 2023/01/07 8:20 EdPills

ed pill https://edpills.science/
cheapest ed pills online

# match dating https://datingonline1st.com/
free site for dating 2023/01/17 17:24 Dating

match dating https://datingonline1st.com/
free site for dating

# gel per erezione in farmacia https://viasenzaricetta.com/# 2023/04/16 4:10 ViaSenza

gel per erezione in farmacia https://viasenzaricetta.com/#

# buy cytotec in usa - https://cytotecsale.pro/# 2023/04/28 13:00 Cytotec

buy cytotec in usa - https://cytotecsale.pro/#

# medication without prior prescription https://pillswithoutprescription.pro/# 2023/05/15 22:00 PillsPro

medication without prior prescription https://pillswithoutprescription.pro/#

# ï»¿paxlovid https://paxlovid.bid/ paxlovid price 2023/10/25 11:53 Paxlovid

paxlovid https://paxlovid.bid/ paxlovid price

# doxycycline prices https://doxycycline.forum/ buy doxycycline hyclate 100mg without a rx 2023/11/25 3:44 Doxycycline

doxycycline prices https://doxycycline.forum/ buy doxycycline hyclate 100mg without a rx

# prednisone in uk https://prednisone.bid/ prednisone 10 tablet 2023/12/27 2:27 Prednisone

prednisone in uk https://prednisone.bid/ prednisone 10 tablet

タイトル
名前
URL
コメント