タグ

2020年11月29日のブックマーク (11件)

  • GitHub - EzoeRyou/cpp17book: textbook for C++17

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - EzoeRyou/cpp17book: textbook for C++17
    toru-kanimiso
    toru-kanimiso 2020/11/29
    “EzoeRyou”
  • cpp17book/035-cpp17-core-inline-variables.md at master · EzoeRyou/cpp17book

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    cpp17book/035-cpp17-core-inline-variables.md at master · EzoeRyou/cpp17book
  • push_backとemplace_back - Qiita

    この記事は初心者 C++er Advent Calendarの1日目の記事です。 はじめに みなさんはstd::vectorやstd::listで要素を追加するときに、「push_back関数よりも、 emplace_back関数を使った方が良い」と言われたりしたことがあると思います。 この記事ではその二つの関数の動作などを解説していきます。 どこがちがうの? std:vectorのpush_backは以下に示すように、実引数が左辺値用と右辺値用にオーバーロードされています。 template<class T, class Allocator = allocator<T>> class vector { public: ... void push_back(const T& param); void push_back(T&& param); ... }; 左辺値の場合はコピーされて、右辺

    push_backとemplace_back - Qiita
  • vector::emplace_back - cpprefjp C++日本語リファレンス

    template <class... Args> void emplace_back(Args&&... args); // (1) C++11 template <class... Args> reference emplace_back(Args&&... args); // (1) C++17 template <class... Args> constexpr reference emplace_back(Args&&... args); // (1) C++20 template <class... Args> void vector<bool>::emplace_back(Args&&... args); // (2) C++11 template <class... Args> reference vector<bool>::emplace_back(Args&&... ar

  • array - cpprefjp C++日本語リファレンス

    namespace std { template <class T, std::size_t N> struct array; } 概要 arrayは固定長のオブジェクトを保持するシーケンスコンテナで、各要素は連続して格納される。従来のCスタイルの配列のパフォーマンスを保ったまま、シーケンスのサイズの取得、要素の代入のサポートなど、標準コンテナの恩恵を受ける事ができる。また、境界チェック(範囲外の要素にアクセスしようとしていないかのチェック)付きの要素アクセスもサポートしている。 arrayは、デフォルトコンストラクタで構築されたarrayオブジェクトが空でない点と、swap()の計算量が定数時間でない点を除いて、コンテナとリバーシブルコンテナの全ての要件を満たす。 テンプレートパラメータは、以下を意味する: T : 配列の要素型 N : 配列の要素数。0以上であること メンバ関数 構築/

  • size - cpprefjp C++日本語リファレンス

    namespace std { template <class C> constexpr auto size(const C& c) -> decltype(c.size()); // (1) template <class T, std::size_t N> constexpr std::size_t size(const T (&array)[N]) noexcept; // (2) } 概要 コンテナの要素数を取得する。 戻り値 (1) : return c.size(); (2) : return N; 備考 機能テストマクロは__cpp_lib_nonmember_container_accessで値は201411 <iterator>ヘッダを読み込む以外では、以下のヘッダが読み込まれている場合に、この関数を使用できる: <array> <deque> <forward_list

  • https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p0631r8.pdf

  • numbers - cpprefjp C++日本語リファレンス

    <numbers>ヘッダでは、数値に関する機能を定義する。このヘッダの機能は、std::numbers名前空間で定義される。 備考 このヘッダで定義される数学定数の変数テンプレートは、標準外のプログラム定義型に対してstd名前空間で明示的特殊化もしくは部分特殊化することが許可される 数学定数 名前 説明 対応バージョン

  • optional - cpprefjp C++日本語リファレンス

    概要 optionalクラスは、任意の型Tの値を有効値として、あらゆる型に共通の無効値状態を表現できる型である。 このクラスには、大きく2つの用途がある: オブジェクトの初期化タイミングを遅延させる エラー報告のために、あらゆる型に共通の無効値表現を持たせる オブジェクトは定義した時点で初期化が行われるが、optionalクラスはその初期化タイミングを遅延させるために使用できる。この用途には、std::shared_ptrのようなスマートポインタを使用することもできるが、このクラスは動的メモリ確保を行わないため、リソース管理ではなく初期化タイミングを遅延させるだけであれば、このクラスの方が適している。 エラー報告について、このクラスを使用しない場合、従来の方法として有効値と無効値は、以下のように表現されていた: int型の場合、0以上の値を有効な値とし、エラーが起きたら負数を代入する ポイ

  • filesystem - cpprefjp C++日本語リファレンス

    <filesystem>ヘッダは、OSのファイルシステムを操作するAPIを提供する。 このライブラリでは、ファイル、ディレクトリ、シンボリックリンクなどを操作する。また、それらを総称してエンティティと呼ぶ。 このヘッダでは、以下の標準ヘッダをインクルードする: <compare> (C++20) パス 名前 説明 対応バージョン

  • Python3.9の新機能(2) - Pythonで有向非巡回グラフのソートをする - Qiita

    はじめに 2020年10月にリリースが予定されているPython3.9で新たに加わる変更をPython3.9の新機能 (まとめ)という記事でまとめています。少し分量のありそうな話題を別記事にしていますが、これはその第二弾で、有向非巡回グラフのソートについてです。 有向非巡回グラフとトポロジカルソート まず、ここでいうグラフは折れ線グラフとか棒グラフとかデータを視覚的に表す図表のことではなく、グラフ理論のグラフです。グラフはデータ構造の一種で、ノード(頂点)とそれらを繋ぐエッジ(枝)で構成されています。ノードやエッジに何かしらの意味をもたせることによって、関連性を持つ情報を表すことができます。 グラフにもいくつか種類があり、その最初の分かれ道がエッジに方向があるかないか。方向があるものを有向グラフ(左側)、無いものを無向グラフ(右側)といいます。 エッジはノードを繋ぐものですが、繋がれたノー

    Python3.9の新機能(2) - Pythonで有向非巡回グラフのソートをする - Qiita