タグ

C言語に関するcurionのブックマーク (3)

  • GCC 5の変更点

    GCC 5の変更点で興味深い部分を紹介してみる。 GCC 5 Release Series — Changes, New Features, and Fixes - GNU Project - Free Software Foundation (FSF) まず、C言語のデフォルトが-std=gnu11になったことだ。C11にGCC拡張を付け加えたものがデフォルトとなる。 __has_includeと__has_attributeのサポート __has_includeは、ヘッダーファイルがあるかどうかを確認できるプロプロセッサーの定数式の中で使える特殊な式で、特定のヘッダーファイルがあるかどうかを確認するのに使える特殊なマクロのように振る舞う。 // __has_includeが存在するか確認 #ifdef __has_include // <optional>が存在するかどうか確認 # i

  • 前置インクリメント(++x) よりも後置インクリメント(x++) のほうが高速? | スラド デベロッパー

    C/C++には「++x」(前置インクリメント) や「x++」(後置インクリメント) のようなインクリメント演算子がある。前者はxをインクリメントしてからその値を返すのに対し、後者はxの値をコピーしてからxをインクリメントし、コピーした値を返す。後置インクリメントは値をコピーする分遅いと言われていたそうなのだが、これとは逆の主張が話題になっているそうだ(闇夜のC++)。 これによると、前置インクリメントはインクリメント処理が終わるまで値を返せないのに対し、後置インクリメントはインクリメント処理が終わる前に値を返すことができる。そのため並列処理が可能になるなどのメリットがあるという。ただし、オブジェクトをコピーするコストについては議論されていないとのことなので、コピーに必要なコストが大きい場合は逆に処理が遅くなる可能性もある。 そもそもタレコミ子は前置インクリメントと後置インクリメントの処理の

  • C言語/C++ プログラミング 入門

    C 言語は 1972年にUSの有名なベル研究所で Dennis Ritchie らが設計・実装した言語だ。 今となっては低水準な言語だが、充分な機能、簡潔な記法とアセンブラに近いパフォーマンスを持ち、 Unix, Windows, Linux 等の OS をはじめ、コンパイラ、テキストエディタ等のツールや、ビジネスアプリやゲームなど多くの各種アプリケーション開発に用いられてきた。 C++ 言語は 1980年頃、やはりベル研究所の Bjarne Stroustrup が開発したもので、C にオブジェクト指向などの機能を追加したものだ。 C との互換性を維持しつつオブジェクト指向が可能で、パフォーマンスも高かったことから、 1990年頃から、ビジネスアプリやゲームなど多くのアプリケーション開発に使用されるようになった。 C++ は、過去の互換性を維持しつつ最先端のプログラミングパラダイムを多く

  • 1