VC++

GCCとVCにバグ報告: std::advance()の負数チェック

Bug 53515 - InputIterator version std::advance needs negative check InputIterator/ForwardIteratorバージョンのstd::advanceに負数チェックがない 些細なものですがバグ報告しました。

VCとGCCにバグ報告 - std::arrayのtuple_elementとget()の境界チェック

Bug 53080 - tuple interface to std::array doesn't check boundsstd::arrayに対するstd::tuple_elementの特殊化で、境界チェックが行われていない std::arrayに対するstd::tuple_elementの特殊化とstd::get()関数のオーバーロードでは、インデックス値Iがa…

VC++11ではヘッダが一旦削除される

【Config】 Meaning of BOOST_NO_CXX11_HDR_INITIALIZER_LIST 言語サポートがないのにVC++10でなぜか入ってたですが、単なるミスだったそうで、VC++11では一旦削除するそうです。 Boost開発者MLで、ヘッダをサポートしてるコンパイラのworkaroundを実装する…

Visual C++にほしいC++11機能アンケート

C++11 Conformance Survey - Visual C++ Team Blog C++11 Language Improvements Survey Visual C++ Team Blogで、Visual C++にほしいC++11機能のユーザー調査を行なっています。 各機能ごとの優先順位と、ついでにVC++に対する意見も募集してるようなので、…

VC11で範囲for文が入るらしい

先日のGoing Native 2012で、Visual C++開発チームのStephan T. Lavavejさん(通称STL)からアナウンスがあったようです。 Stephan just announced: range-based for-loop coming to Visual C++ 11 Beta!! #GoingNative2012-02-03 06:56:08 via TweetDeck

Boost.GeometryのVS11 Debugger Visualizers

Visual Studio 11 visualizers for Boost.Geometry 【ggl】 Visual Studio 11 visualizers for Boost.Geometry フィードバック募集中だそうです。 VS11からは、Debugger VisualizersはXMLで書くみたいですね。

謎の警告 - デストラクタ呼び出しで未使用変数警告

Visual C++ 2010で警告レベルを4にすると、以下のプログラムで未使用変数の警告が出てしまう。 template <class T> struct Destruct { void f(T* p) // warning C4100: 'p' : 引数は関数の本体部で 1 度も参照されません。 { p->~T(); } }; struct X {}; int main() {</class>…

次期Visual C++は、静的解析、単体テスト、カバレッジをサポート予定

ALM for C++ in Visual Studio vNext at TechEd NA 2011 - Visual C++ Team Blog あとはリファクタリングが入るとうれしいですね。

Visual C++ 2010 SP1の修正内容

VS2010 SP1 Beta: What’s in It for C++ Developers 新機能のみが記載されていたエントリですが、コメント欄にて詳細な修正内容が追記されています。 SP1を適用される方は確認してみてください。

BoostのVisual Studio Debugger Visualizers

Visual Studioには2005からDebugger Visualizersという機能がこっそり入っていて そのおかげでSTLコンテナの状態がデバッグウィンドウで見やすくなっています。 デフォルトでDebugger Visualizersが有効になっているので、 vectorをデバッグしてみると以下の…

VC10はstatic_assertをコンパイル前に評価してくれるらしい

Visual C++ Team Blog - Intellisense and Browsing with C++0x コーディング時のエラー検出で、static_assertも評価するみたいです。 コンパイルすらしないテンプレートメタプログラミングができそうですね。 (IDE落ちそうだ…)

VC++10 Beta 1の今さら気づいたC++0x機能

発表されてなかったので試してもいなかったのですが、 VC++10では戻り値の型を後置する関数宣言構文が使えるようです。 (autoと->のあたりに赤線引かれるけど) あと、decltype( ( v ) )も使えました。 #include <vector> #include <type_traits> using namespace std; // 関数の戻</type_traits></vector>…

VC++のtype_traitsはvoidの適用結果がおかしい

comp.std.c++ - type traits if void type 以下、VC++10 Betaでの検証結果(VC9 SP1も同様) #include <iostream> #include <type_traits> using namespace std; int main() { cout << is_pod<void>::value << endl; // 1 cout << has_trivial_constructor<void>::value << endl; // 1 cout << has</void></void></type_traits></iostream>…

VC++10では<iterator>をインクルードする必要がある

Visual C++ Team Blog - STL Breaking Changes in Visual Studio 2010 Beta 1 VC++10では、STLに破壊的な変更が行われるそうです。 (C++0xには関係ない変更。Microsoftが破壊的な変更なんてめずらしい…。) 以下のコードは、VC++9 SP1まではコンパイルが通り…

VC++10 Beta1さわってみた

まだ30分くらいしかさわってないですけど、わかったことをつらつらと書いておきます。 ・インテリセンスはえーーーーーー ・TR1ライブラリはstd::tr1名前空間からstd名前空間に移動(std::tr1でも使える) ・<random>のdistributionクラスはC++0xの最新のク…

VC++10のアロケータ

C++0x Support in Visual Studio 2010(pdf) VC++10では、<allocators>ヘッダでDinkumware独自のアロケータがいくつか提供されるそうです。 (詳細不明) 標準ヘッダと混同する恐れがあるので<stdext/allocators>にしてほしいとこです。

VC9(2008) SP1のHotfix 再アップ

Visual C++ Team Blog - Repackaged VC9 SP1 Hotfix For The vector<function<FT>> Crash 再アップされたみたいです。 ダウンロードはこちらから。 修正内容は前回と同じはずです。VC9(2008) SP1のHotfix Express Editionにインストールできるかどうかは…

言語拡張に関する問題点を報告しました

依存名に対してtypenameを付けなくてもコンパイルが通ってしまう 限定子としてのtemplateを書かなくてもコンパイルが通ってしまう 言語拡張を無効にしてWindowsアプリケーションを組むことができない

一時オブジェクトを参照できてしまう言語拡張をOFFにする

VC++ではデフォルト設定では一時オブジェクトを参照できてしまいます。 class A {}; void foo(A&) {} int main() { foo(A()); // エラーになってほしいけどコンパイルが通ってしまう } 複数環境(GCCとか)で動かしたいコードを書いてるときには この言語拡張…

VC9(2008) SP1のHotfix

Visual C++ Team Blog - VC9 SP1 Hotfix For The vector<function<FT>> Crash vector>で落ちるバグが修正されたHotfixが公開されています。ダウンロードはこちらから。 このHotfixは、以下の5つのバグに対応します。 1.function::swap()は、VC9 TR1(Feat…

C++0x language feature checklist

CodeGuru - C++0x language feature checklist VC++10のC++0x対応(日本語のWikipediaで置き換えました) YES - 右辺値参照とMove semantics No - 一般化された定数式 No - Plain Old Data型の定義の修正 YES - 外部テンプレート (注: Visual C++ 4.0からサポ…

C++0xのExtern Templateはすでに実装されてる

Extern Templateは、Visual C++ 2.0からの独自拡張ですでに実装されているそうです。

VC++10では可変引数テンプレートは実装されません

質問してきた Monday, November 10, 2008 5:14 AM by Stephan T. Lavavej [MSFT] [Akira Takahashi]> Will variadic templates be implemented in VC10? No. (As a library dev, I *really* wanted them.) > VC10で可変引数テンプレートは実装されるのでしょ…

VC++10 CTPでautoを遊んでみた

int n = 0; auto a = n; // int a = n; int n = 0; auto* a = &n; // int* a = &n; int n = 0; const auto& a = n; // const int& a = n; struct hoge { }; hoge foo() { return hoge(); } auto&& h = foo(); // hoge&& h = foo(); auto* p = new auto(1); /…

続・VC++10はいろいろ実装されない

・委譲コンストラクタ ・メンバ初期化子 Tuesday, November 04, 2008 7:31 AM by Stephan T. Lavavej [MSFT]> Will constructor delegation be implemented in VC10?No.> And also the new member initialization syntax?No. Visual C++ Team Blog - Lambdas…

VC++10 CTPのラムダ式でメンバ変数を参照キャプチャ

#include <iostream> #include <functional> using namespace std; using namespace std::tr1; class hoge { function<void()> func_; int id_; public: hoge() : id_(10) { func_ = [this]{ ++id_; }; } void call() const { func_(); cout << id_ << endl; } }; int main() { hoge h; h.c</void()></functional></iostream>…

VC++10はいろいろ実装されない

Visual C++ Team Blog - Lambdas, auto, and static_assert: C++0x Features in VC10, Part 1のコメント欄から 【実装されない】 ・Range-base for文 コンセプトが実装されないからそりゃそーだ。(コンセプトは実装するのに1年はかかるんだとか) VC++10では…

VC++10 CTPでラムダ式を遊んでみた

【参照環境を持つラムダ式はスコープが外れたらその実行は未定義】まずはコピーラムダを返してみる #include <iostream> #include <functional> using namespace std; std::tr1::function<int(int)> foo() { int n = 3; return [n](int i) -> int { return n + i; }; } int main() { cout << </int(int)></functional></iostream>…

VC++10ではコンセプトはたぶん実装されません

Visual C++ Team Blog - Lambdas, auto, and static_assert: C++0x Features in VC10, Part 1のコメント欄 Concepts will be super duper awesome. However, they will not be implemented in VC10. Concepts are C++0x's biggest feature, and they were ju…

ズーム

Visual Studio 2010 のエディタは、「Ctrl + マウスホイール」でズームできます。

Parallel Pattern Library

VC++10(VS2010)では、 Parallel Pattern Library (PPL) というのが提供されます。 これは並列処理を行うためのライブラリです。 インクルードするのは で、名前空間は Concurrency です。 まず、 std::for_each の並列処理版である parallel_for_each templa…

Visual C++ 10では並列ランタイムとライブラリが提供される

今月のMSDNマガジンにも載ってましたが、VC++10にはParallel Pattern Library (PPL)というのが入るそうです。 (STLライクなライブラリになるのかな?)それと、Visual Studioにマルチスレッドコードのデバッグを支援する機能が入るんだとか。 Visual C++ Team…

リボンUIのガイドライン

MSDN - Ribbons 今のところ英語だけですが、日本語訳もそのうちでるでしょう。

Visual C++ 10はあたらしい6である

Microsoft Visual C++: 10 Is the New 6Visual C++ Team Blog - VC at the PDC Visual C++の次のバージョンは、すべて大規模アプリケーション用の開発生産性の改善に関係しています。 インテリテンスとブラウジング体験、プロジェクトおよびビルドシステムへ…

Visual Studio 10

Microsoft、早くも次世代版『Visual Studio 10』に言及 VC++ の新たなインテリセンスと C++0x で早く遊びたいですね

MFC - UTF-8/UTF-16のファイル読込・保存

VC++8.0(2005) 以降の fopen では ccs でエンコーディングを指定することができるMSDN - fopen, _wfopen CStdioFile は FILE* を受け取ることができるので以下のようにできる まずは読み込み UTF-8 CString line; CStdioFile file(_tfopen(_T("C:\\utf8.txt"…

for each 不具合修正

for each バグ この不具合は次の Visual Studio で修正されるそうです。C++ for each 文で std::map を使うとキーが消える

並列コンパイル

ネタ元 : みずさわblog - VS2008(VC9) の並列コンパイル Visual C++ コンパイラ オプション - /MP (複数のプロセスを使用したビルド) /MP4 オプションを付けてコンパイルしたら、このプログラムがたった 15 秒でコンパイルできました (今まで 30 秒かかって…

提案すれば入れてくれるのかな

私たちはC++0x標準の評価を継続しており、製品に追加したい機能を検討しています。 ’for’ の新しい構文も、将来の製品リリースにおいて考慮すべきものの一つです。 このようなご報告はお客様がどのような機能に最もご関心を抱いているか、 私どもに認識させ…

VC++9.0 SP1 Beta で警告出るようになった

以下のコードで警告が出る(VC++9.0 ではたぶん出なかった) #include <iostream> #include <vector> #include <algorithm> #include <boost/lambda/lambda.hpp> using namespace std; using namespace boost::lambda; int main() { vector<int> v; v.push_back(3); v.push_back(1); v.push_back(4); for_each(v.begin(), v</int></boost/lambda/lambda.hpp></algorithm></vector></iostream>…

VC++9.0 SP1 Beta バグ修正

VC++9.0 での ADL のバグが直ってるみたいです http://d.hatena.ne.jp/faith_and_brave/20071219/1198055224

for each バグ

map / unordered_map を for each 文でループして要素を const 参照で受け取ったらキーが消えました #include <iostream> #include <string> #include <map> // or <unordered_map> using namespace std; int main() { map<string, int> dict; // or unordered_map<string, int> dict["Akira"] = 23; dict["Johnny"] = 38; dic</string,></string,></unordered_map></map></string></iostream>…

VC++ で C# のインテリセンスに追いつくために

Alt + →

MFC へのグチ

とっちゃん's Blog - MFC の需要ってどれくらいなんだろ? Feature Pack はなんで今さら MFC を拡張しようと思ったんだろうそろそろ MFC に代わる GUI ライブラリを作ってほしいです ・ コントロールIDを resource.h に詰め込むのやめよーぜ ・ *.rc 廃止し…

Visual C++ 2008 Feature Pack リリース

Visual C++ 2008 Feature Pack Final Release が公開されました 英語版 Visual Studio 2008 の Standard Edition 以上を持っている方はお試しあれ 正式には Visual Studio 2008 SP1 としてリリースされるので日本語対応は SP1 からとなります

for each 文で参照を使いたい

現在、Microsoft Connect で以下の提案を行っています フィードバック:C++ for each文で参照を使いたい 同意してくださる方がコメントやレート(☆)を付けてくれると Visual Studio の各開発チーム内での重要度が上がるそうなので是非ご協力お願いします バグ…

C++/CLI 匿名メソッドは使えない

C++/CLI(VC++8.0, 9.0)で匿名メソッドが使えるか試してみましたが、ダメでした #include <iostream> #include <vector> #include <algorithm> using namespace std; int main() { vector<int> v; // エラー! for_each(v.begin(), v.end(), delegate(int value){cout << value << endl;}); retu</int></algorithm></vector></iostream>…

VC++10.0からのインテリセンス

Visual C++ Team Blog - IntelliSense, Part 2 (The Future)本の虫 - Inside IntelliSense VC++10.0からはNCBファイルは廃止される代わりに SQL Server Compact を使ってインテリセンスを管理するらしい

VC++9.0(2008)のインテリセンスは良くなってるらしい

MASATOの開発日記 - Visual Studio 2008のインテリセンス 私が体感できるようなとこは、ヘッダーファイルをインクルードしてから わりとすぐ(1〜3秒)にインテリセンスが効くようになったくらいかなー (2005では10秒くらいかかってた) あとはtemplate使いまく…

メモ - CString::FormatMessage

NyaRuRuの日記 - Positional parameters for format strings sprintfやCString::Formatのようなフォーマット文で、第1引数、第2引数...とできたらいいなーと思ったらできたんですね CString str; str.FormatMessage(_T("こんにちは%2!d!世%1!s!界"), _T("a…