タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

c++とc++0xに関するf99aqのブックマーク (9)

  • C++0xが国際標準C++11へ。 - Faith and Brave - C++で遊ぼう

    cppllとboostjpに送ったメールですが、こちらにも再掲します: == ついに ねんがんの 国際標準をてにいれたぞ!: C++0x、全会一致で承認される C++0xが満場一致で国際標準として承認されました。 やりました! 日からも全員が賛成票を出していました。 さて、C++11の仕様が固まってこれから大きな変更はないでしょうから、 そろそろC++11の解説サイトやリファレンスを整備していかなくてはいけません。 cppll, boostjpのコミュニティで集合知としてのリファレンスサイトを作っていきたいと考えています。 私の方でGoogle Sitesのcpprefjpを作成し進めているのですが、人手不足でなかなか進んでいない状況です。 cpprefjp - C++語リファレンス この活動に興味を持ち、コアメンバとなってくれる方を募集しています。 C++11が広く使われて欲しいと

    C++0xが国際標準C++11へ。 - Faith and Brave - C++で遊ぼう
  • C++11 - Wikipedia

    この記事は更新が必要とされています。 この記事には古い情報が掲載されています。編集の際に新しい情報を記事に反映させてください。反映後、このタグは除去してください。 (2019年1月) C++11は、プログラミング言語 C++ のISO標準 ISO/IEC 14882:2011 の略称である。規格の策定中は2009年中の標準化を目指していたため、C++0x という仮称で呼ばれていた。 ISO/IEC 14882:2003 (C++03) に代わるものとして、2011年8月12日にISOによって承認された[4]。後継のC++14が2014年8月18日に承認されている。 コア言語への機能追加や標準C++ライブラリの拡張を施し、C++TR1ライブラリの大部分を(数学的特殊関数ライブラリを除いて)取り込んでいる。 C++ への修正はコア言語と標準ライブラリの双方に及ぶ。 委員会は、新規格の個別の要素

    f99aq
    f99aq 2008/03/08
    wktk
  • C++0x module - Faith and Brave - C++で遊ぼう

    post-c++0x: modules in c++ module かー・・・ ヘッダーファイルごとじゃなくてライブラリごとに管理できるようにする提案かな export std: public: namespace std { template <class T, class Allocator> class vector; } import std; int main() { std::vector<int> v; return 0; } むしろ、ファイル内だけで using directive できる仕組みがほしい(module とあんまり関係ないけど) // hoge.h using namespace std { // こんなふうに書けたらいいなー class hoge { vector<string> v; }; } // using namespace std // main.

    C++0x module - Faith and Brave - C++で遊ぼう
  • C++0x 右辺値参照の使い道 - Faith and Brave - C++で遊ぼう

    右辺値参照は主に大きいオブジェクトを戻り値にするときに使う vector<int> foo() { vector<int> v; ... return v; } int main() { vector<int>&& v = foo(); return 0; } だが、実際はライブラリ(クラス)の中で右辺値参照を処理することが多いだろう 右辺値参照の追加にともない、標準ライブラリは総書き換えされるので vectorのコピーコンストラクタと=演算子は以下のようになる template <class T, class Allocator=std::allocator<T>> class vector { public: vector(const vector&); vector(vector&&); vector& operator=(const vector&); vector& operat

    C++0x 右辺値参照の使い道 - Faith and Brave - C++で遊ぼう
  • 2008-02-02 - Cry’s Diary : [C++0x][C++]可変長テンプレートの使い道が「型安全な printf」と「tuple」と「転送関数 (関数オブジェクト)」ぐらいだと思っている人へ送る,ちょっと早めの素敵な variadic

    N2461 より "12.6.2 Initializing bases and members" の 10 の例示コード. template<class... Mixins> class X : public Mixins... { public: X(const Mixins&... mixins) : Mixins(mixins)... { } }; 同じく N2461 より "14.5.3 Variadic templates" の 5 における例示コード. template<typename...> struct Tuple {}; template<typename T1, typename T2> struct Pair {}; template<class ... Args1> struct zip { template<class ... Args2> struct wit

    2008-02-02 - Cry’s Diary : [C++0x][C++]可変長テンプレートの使い道が「型安全な printf」と「tuple」と「転送関数 (関数オブジェクト)」ぐらいだと思っている人へ送る,ちょっと早めの素敵な variadic
  • C++0x - Lambda Expressions and Closures(N2487) - Faith and Brave - C++で遊ぼう

    前回からの差分紹介 【ローカル変数の宣言構文】 N2413(前回) int ar[] = {3, 1, 4}; int sum = 0; int factor = 2; for_each(ar, ar + 3, <>(int value; &sum, factor) (sum += factor * value)); N2487(今回) ... : [ローカル変数名] (...) int ar[] = {3, 1, 4}; int sum = 0; int factor = 2; for_each(ar, ar + 3, <>(int value) : [&sum, factor] (sum += factor * value)); Boost.Lambdaの場合 int ar[] = {3, 1, 4}; int sum = 0; int factor = 2; for_each(ar,

    C++0x - Lambda Expressions and Closures(N2487) - Faith and Brave - C++で遊ぼう
  • C++ Technical Report 1 - Wikipedia

    C++ Technical Report 1 (TR1、Technical Report on C++ Library Extensions)は、ISO/IEC TR 19768:2007[1] の非公式名称で、標準C++ライブラリの拡張についての標準規格である。これには正規表現、スマートポインタ、ハッシュ表、擬似乱数生成器などが含まれている。TR1の目標は「拡張された標準C++ライブラリの使用方法について慣習を確立してほしい」とのことである[2]。 TR1は既に一部ないし全部を実装しているものもある。ちなみに、TR1のほとんどはBoostに含まれており、それが利用可能である。 TR1はC++のライブラリの拡張の全てではない。たとえばC++11ではスレッドに関するライブラリが含まれ、言語機能自体の拡張(move semanticsやvariadic templatesの追加など)などSTL

  • C++0x - constexpr - Faith and Brave - C++で遊ぼう

    コンパイル時に実行される関数を定義できる これによって、関数の戻値をコンパイル時定数にできる いままで再帰テンプレートやクラステンプレートの特殊化で処理していたものが 関数テンプレートの特殊化でできるようになるようだ いままで template <class T> struct is_pointer { static const bool value = false; }; template <class T> struct is_pointer<T*> { static const bool value = true; }; static_assert(is_pointer<int*>::value, "not pointer"); これから template <class T> constexpr bool is_pointer(T*) { return true; } templat

    C++0x - constexpr - Faith and Brave - C++で遊ぼう
  • ムーブセマンティクスと右辺値参照 - イグトランスの頭の中

    話のネタはありながら、気が付けば木曜日となり、どうやら毎週木曜日に書くという習慣が自分の中に根付いたようです。 さて今日はC++の話です。ActiveBasicもバージョン5で色々と変わりそうですが、C++も目下新規格の制定に向けて話が進んでいます。その新規格は現在のところ、C++0xと呼ばれています。勿論200x年中の制定を見込まれているからですが、最近ではC++09という言葉もちらほら見かけ始めている気もします。 なお、そんなC++0xの様子はC++の標準化委員会のページで窺い知ることができます。 http://www.open-std.org/jtc1/sc22/wg21/ JTC1/SC22/WG21 – The C++ Standards Committee その中でも今回紹介したいのはムーブセマンティクス (move semantics)と右辺値参照 (rvalue refer

    ムーブセマンティクスと右辺値参照 - イグトランスの頭の中
    f99aq
    f99aq 2007/09/11
    move semantics ってこういうことだったのか
  • 1