タグ

C++と解説に関するyowanoのブックマーク (5)

  • 規格書を読もう - How to disappear completely

    この記事はC++ Advent Calendar 2012の参加記事です。 初めに みなさんはC++を書いているときに分からないことが有ったらどうやって調べているでしょうか。 おそらくブラウザの検索窓に「C++ ポインタ」とか「C++ テンプレート」とか「C++ 闇」とかカチャカチャ入力してエンターキーをッターン!してるでしょう。僕もです。 C++やBoostについて書いているサイトは日語でもたくさんありますし、とてもありがたいことに、包括的に解説してくれているところさえ有ります。非常に重宝します。 さて、C++を勉強していきSTLやBoostなんかも使い始め、寝ても覚めてもC++のことが頭から離れなくなってきたのであれば、C++について調べる方法として、C++の規格書を選択肢に加えるのもいいかもしれません。 C++の規格書とは、プログラミング言語 C++を定義し、この言語を実装する実装

    規格書を読もう - How to disappear completely
    yowano
    yowano 2014/05/05
    規格書を参照するべき理由と、規格書(草案)の置いてある場所のリンク、規格書内の目次の解説など。
  • Modularized Boost(GitHubへ移行したリポジトリ)を使用する - イグトランスの頭の中

    この記事は、C++ (fork) Advent Calendar 2013の3日目です。 現在、Boostのソースコード管理はSubversionからGitへ乗り換えた上でGitHubへの移行が進められています (github.com/boostorg (Boost.org))。そこで、この記事ではGitリポジトリからBoostを使用する方法のまとめを書きます。 なお、この記事の対象はWindowsです。以下の説明でもmsysGitのgit bashとVisual Studioコマンドプロンプトが混在しています。$で始まる行はgit bash、>で始まる行はVisual C++へのパスが通ったコマンドプロンプトで実行したものです。実行速度が速いのでmsysGitで試しましたが、Cygwinでも可能だと思います。 最新版を使うまず簡単なところからです。masterやdevelopブランチなど

    Modularized Boost(GitHubへ移行したリポジトリ)を使用する - イグトランスの頭の中
    yowano
    yowano 2014/01/13
    最新版のboostのインストールの仕方。ただし、Gitコマンドを使える環境が必要。
  • 右辺値参照とムーブセマンティクス - 株式会社CFlatの明後日スタイルのブログ

    資料だけならWeb上に多かれど、いまいちピンとこないのがこの2つの機能ではないかと思います。大体この2つはセットにして語られるので、どこからどこまでが右辺値参照の機能でどこからどこまでがムーブセマンティクスの機能なのかを混同してしまう、ということも理解の混乱に拍車をかけている気がします。私だけかもしれませんが。 ●右辺値参照 そんなわけで明らかにしておきたい事は、つまりはこういうことです。 右辺値参照は、あくまでも「単なる参照」であり、右辺値参照=ムーブコンストラクタを呼びだすための機能、ではない 右辺値参照は、あくまでも「単なる参照」であり、Hoge &&piyo = hoge; とすればHogeのムーブコンストラクタが呼び出される、というわけではない ※ 2013/01/23:faith_and_brave様のご指摘を受けて、表現を変更いたしました。 右辺値参照も、基的にはただの参照

    右辺値参照とムーブセマンティクス - 株式会社CFlatの明後日スタイルのブログ
    yowano
    yowano 2014/01/06
    『一時変数を右辺値参照した場合、その一時変数の寿命は右辺値参照変数の寿命と一致する(一時変数へのconst参照の場合も同じ)』『右辺値参照変数自体は、右辺値ではなく左辺値である』
  • データ型のアラインメントとは何か,なぜ必要なのか?

    以前このサイトとブログに,何度かアラインメントに関する記事を書きました (サイト内関連ページ参照). そのせいか「アラインメント」で検索して来てくれる人が多いので, 過去の記事に加筆修正してこのページを新たに作成しました. 加筆した点は次のとおりです. アラインメントとメモリアクセス回数の関係をわかりやすくするため, (ほんの少し) 図を導入しました. 「データがアラインされていないとメモリアクセス回数が増える」 と言葉で説明しているサイトは多いのですが, 図で示しているところはまだ見たことありません. アラインされていないアドレスにデータを書き込む場合, 読み出しの場合以上にメモリアクセス回数がかかる可能性があることを追記しました. 以前は「複合データ型 (配列,構造体,共用体) のアラインメント」はほとんど自明のことだと思っていたので軽く流していましたが, 意外なことにこれを解説してい

    yowano
    yowano 2013/09/10
    プログラミング言語(というよりハードウェア)におけるアラインメントの意味から、その存在理由、注意点まで、詳細丁寧な解説。
  • C++初心者です。 とんちんかんな質問をしていたらすみません。…

    C++初心者です。 とんちんかんな質問をしていたらすみません。 A_file.cppとB_file.cppというファイルがあり、それぞれの中でAとBというクラスを定義していると仮定します。 このとき、クラスAのメンバ変数としてBのインスタンスを持たせる場合、ポインタとして定義する方法(以下ソースのmember_pointer_B)と実体を定義する方法(以下ソースのmember_B)があると思いますが、これらの違い(なぜこのような2つの方法があるのか、そもそも言ってることがおかしいとか、使い方が違うとか、メリット・デメリットとか)を教えて下さい。 // ソース class A { int numberA; int numberAA; B* member_pointer_B; // ポインタの定義 B member_B; // 実体の定義 } 宜しくお願い致します。

    yowano
    yowano 2013/04/23
    ポインタがわかりやすく解説されている記事。
  • 1