タグ

ブックマーク / fimbul.hateblo.jp (5)

  • リンク時に関連するルールの話 - ここは匣

    C++ Advent Calender 2014(http://qiita.com/advent-calendar/2014/cpp) 11日目の記事です. はじめに 今年はこれまでコンパイル時の話について沢山記事にしてきたので,たまにはリンク時に関連することを記事にしてみようと思います.把握している人にとっては当たり前の内容ですが,日語情報としてまとまっている記事は案外少ない気がするので初学者等に少しでもお役に立てば幸いです. この記事を執筆するにあたっては最新のWorking draftであるN4140(https://github.com/cplusplus/draft/blob/master/papers/n4140.pdf)を参考にしています.記事の内容は主に,3 Basic concepts内の3.1 Declarations and definitions,3.2 One

    リンク時に関連するルールの話 - ここは匣
    sucrose
    sucrose 2014/12/23
    “C++ Advent Calender 2014(http://qiita.com/advent-calendar/2014/cpp) 11日目の記事です”
  • C++の剰余の定義 - ここは匣

    例えば負の数の絡むC++の剰余の計算結果は?そもそもC++の剰余演算の定義は。 調べたところstackoverflowに回答がありました。 http://stackoverflow.com/questions/7594508/modulo-operator-with-negative-values C++03では実装依存のようですが、C++11では以下のように定義されているようです。 The binary / operator yields the quotient, and the binary % operator yields the remainder from the division of the first expression by the second. If the second operand of / or % is zero the behavior is und

    C++の剰余の定義 - ここは匣
    sucrose
    sucrose 2014/02/27
  • MSのあまりにもひどいマクロ - ここは匣

    2013-10-10 MSのあまりにもひどいマクロ maxとかminとかが使えないと思ったらminwindef.hとかいうところでマクロとして定義されていてキレそうっていうかこれは完全にブチギレ— 秋弦めい (@maytheplic) October 10, 2013 http://stackoverflow.com/questions/5004858/stdmin-gives-error StackOverflowにも同じような事言ってる人が居たので引用。 どうやら以下のようなコードがエラーになるらしいです #include <algorithm> #include <Windows.h> int main() { int k = std::min(3, 4); return 0; } error C2589: '(' : illegal token on right side of

    sucrose
    sucrose 2013/10/11
  • Template Meta Programming入門から応用まで - ここは匣

    C++勉強会 @ tkb #2 の資料をSlideShareにアップしました。 Template Meta Programmingに関する内容です。 Template Meta Programming入門から応用まで

    Template Meta Programming入門から応用まで - ここは匣
    sucrose
    sucrose 2013/10/04
    スライドが417ページもあって読みきれなかった……
  • C++11 スマートポインタの話 - ここは匣

    C++にはガーベジコレクタが言語的には存在しないので、動的に確保したオブジェクトのメモリの管理はプログラマが責任を持って管理しなければ、メモリリーク・リソースリークなどの問題を生じてしまいます。 今時のプログラマはこうした問題を引き起こすリスクを減らす為に、記述ミスの起こりやすい生のポインタを使い自力でnewとdeleteを記述する事を避けて、安全なスマートポインタ、即ちオブジェクトの寿命により自動的にメモリ解放を行う便利なポインタを利用するべきです。 しかし、スマートポインタと言っても種類が幾つかあり、落とし穴も存在するのでどういった状況でどれを利用するのが良いのかを考察してみます。 Dynamic memory managementを見てみても C++11から随分増えていますね http://en.cppreference.com/w/cpp/memory std::auto_ptr

    C++11 スマートポインタの話 - ここは匣
    sucrose
    sucrose 2013/03/20
  • 1