タグ

C++11とProgrammingに関するtyosuke2011のブックマーク (5)

  • C++0x の右辺値参照がこんなに難しいわけがない。 - C++でゲームプログラミング

    C++0xのアレです。 これに関してはさんざん解説がされているとは思いますが、自分がイマイチ理解していなかったのでまとめてみました。 概念や細かい仕様なんかは書いてないのでありからず…。 あとテスト用のコンパイラは、gcc-4.5.0 です。 ☆参照渡し C++ では、型名に & を付けることでオブジェクトのアドレスを受け取り、値の参照を行うことが出来ます。 int n = 10; int& ref = n; // int* ref = &n; を行っているイメージ ref = 3; // ref は n を指しているので、代入すれば n も変わる ここで重要なのは、参照渡しは値のコピーを行わない事です。 まぁこれに関しては、ポインタ渡しと同じですね。 関数の引数を参照で受け取るのは、無駄なコピーを行わない為です。 void hoge(std::string& str){} std::st

    C++0x の右辺値参照がこんなに難しいわけがない。 - C++でゲームプログラミング
  • C++11スマートポインタで避けるべき過ち Top10 | POSTD

    (注:2017/10/25、いただいたフィードバックを元に翻訳を修正いたしました。修正内容については、 こちら を参照ください。) 私は新しいC++11のスマートポインタをとても気に入っています。自分でメモリを管理するのが嫌だと感じる多くの仲間たちにとって、これはいろいろな面で天の助けでした。私の場合、このおかげで新人にC++を教えるのがずっと楽になりました。 しかし、C++11のスマートポインタを幅広く使っていた2年ちょっとの間で、使い方を誤ると、プログラムの効率が落ちたりクラッシュして壊れたりするという事態に何度も遭遇しました。参照用に、以下に例を載せました。 まずはこれらの”過ち”を、簡単なAircraftクラスを例に取って見てみましょう。 class Aircraft { private: string m_model; public: int m_flyCount; weak_p

    C++11スマートポインタで避けるべき過ち Top10 | POSTD
  • C++11のスレッド、アフィニティ、ハイパースレッディング | POSTD

    背景と導入 何十年もの間、CやC++の標準規格は、マルチスレッディングや並行処理を「その標準の範囲を超えたもの」として扱ってきました。標準規格の目的である”抽象機械”の力が及ばない、”対象依存”という影の世界においてです。メーリングリストやニュースグループの質問には並行処理に関するものが山ほど寄せられましたが、それらにすぐに突き返された回答は「C++はスレッドには関知しません」という何とも冷淡なものでした。この件によって当時のことを思い出す人々は、今後も絶えないでしょう。 しかしC++11の登場で、そんな状況に終止符が打たれたのです。C++標準化委員会は、時代の流れに乗らないと、この先C言語が取り残されてしまうと悟ったのでしょう。彼らはスレッドや同期メカニズム、アトミック操作、メモリモデルなどの存在に、ようやく気付いたわけです。そして標準規格として、C++コンパイラやライブラリのベンダーに

    C++11のスレッド、アフィニティ、ハイパースレッディング | POSTD
  • Wandbox

  • 江添亮とは (エゾエリョウとは) [単語記事] - ニコニコ大百科

    江添亮単語 58件 エゾエリョウ 1.1千文字の記事 6 0pt ほめる 掲示板へ 記事編集 ブログAsk .fmニコニコ動画関連動画関連商品関連コミュニティ関連項目外部リンク掲示板江添亮とは、自称・自由ソフトウェア主義者であり、ブログ上においてC++の国際規格を解説している事で有名である。また、過去にニコニコ動画上にゲーム実況動画や、良く分からない動画を上げている。また、2014年よりドワンゴで勤務している。 ブログ上での態度と異なり、実物はかなりふざけた性格である。 ブログ 江添亮は、C++コミュニティ内ではかなりの有名人であり、自身のブログ上に於いて、C++の国際規格の解説を行っている。 特にC++11の文法と機能という文書は、C++11のISO規格の内、コンパイラ実装の詳細とライブラリ部分を除いたコア言語について詳細に解説しており、プログラマーの評判も良いと思われる。 文書はgit

    江添亮とは (エゾエリョウとは) [単語記事] - ニコニコ大百科
  • 1