タグ

C++に関するTaKUMAのブックマーク (42)

  • Rustは何が新しいのか(基本的な言語機能の紹介) - いもす研

    Rust は、Firefox を開発する Mozilla が開発し、次世代ブラウザの開発に使っているプログラミング言語です。借用検査という概念を導入することによりメモリ安全およびデータ競合安全をコンパイラが保証する言語であり、2015年中頃の安定版のリリースあたりから次第に注目を集めるようになりました。 メモリ安全とは、メモリの範囲外アクセスや二重解放、ヌル参照、未初期化領域へのアクセスがない状態を表します。ただし、Rust の言うメモリ安全とは、メモリリークをしないことを保証するものではありません。 データ競合安全とは、あるひとつのオブジェクトに対しての読み込みおよび書き込みのが同時に起き結果が不定になる状態にならないことを表します。競合状態とは異なります。 無名関数という概念を様々な言語が次々と導入したように、プログラミング言語は相互に影響を及ぼし徐々に変化しています。Rust は「寿

  • volatileで最適化を抑制する - 職業としてのプログラミング

    C言語やC++,Javaにはvolatileという修飾子があります。組み込み系ソフトウェアやマルチスレッドのアプリケーションを書いている方にとっては、なじみ深い存在ですが、そうでない方にはあまり縁がないのかもしれません。しかし、volatileの使い方や存在意義を知らないままコーディングを行うと、思わぬバグを引き起こす場合があります。今回は、そのvolatileキーワードについて簡単に説明したいと思います。 volatileは初期のCであるK&Rには含まれていませんでしたが、ANSI C(C89)以降のC標準規格にはconstと一緒に含まれるようになりました(constとvolatileをあわせてcv修飾子と呼ぶこともあります)。一般的なCなら必ず備えている修飾子です。 volatile修飾子の意味ですが、「プログラミング言語C ANSI規格準拠」によると、 volatileの目的は,黙っ

    TaKUMA
    TaKUMA 2015/06/06
  • GitHub - iwiwi/cpp-json-logger: Logging library for computational experiments on algorithms in C++

    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 - iwiwi/cpp-json-logger: Logging library for computational experiments on algorithms in C++
    TaKUMA
    TaKUMA 2015/05/02
    C++ logger
  • Let's Boost

    Boost C++ Libraries の紹介サイトです。 :: by Google はじめに ご挨拶 Boost のインストール方法 参考リンク集 ニュース ◆ Version 1.42.0 と 1.41.0 対応 (2010/03/14) 新規ライブラリに関する Let's Boost のページ…: property_tree (汎用木構造型コンフィグ管理) / uuid (ユニークID生成器) ◆ RSS つけました (2009/08/28) ◆ Version 1.40.0 と 1.39.0 対応 (2009/08/28) 新規ライブラリに関する Let's Boost のページ…: Signals2 (Signal/Slotライブラリ改良版) ◆ Version 1.38.0 と 1.37.0 対応 (2009/02/22) 新規ライブラリに関する Let's Boost のペー

  • Herb Sutter氏の語る現代的C++プログラミングの基本

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    Herb Sutter氏の語る現代的C++プログラミングの基本
  • QuickCheck++: Main Page

    Table of Contents Introduction What is QuickCheck++ Why Would I Want to Use It? How to Get It? Relation to Haskell's QuickCheck License Using QuickCheck++ Defining Properties Verifying Properties Specifying a Precondition Inspecting Input Data Distribution Custom Data Generators General Purpose Generators Special Purpose Generators Data Generator Primitives Printing Property Names Verbose Checking

  • Error establishing a database connection

    Error establishing a database connection This either means that the username and password information in your wp-config.php file is incorrect or we can't contact the database server at localhost. This could mean your host's database server is down. Are you sure you have the correct username and password? Are you sure that you have typed the correct hostname? Are you sure that the database server i

  • Clang Language Extensions — Clang 20.0.0git documentation

    Introduction¶ This document describes the language extensions provided by Clang. In addition to the language extensions listed here, Clang aims to support a broad range of GCC extensions. Please see the GCC manual for more information on these extensions. Feature Checking Macros¶ Language extensions can be very useful, but only if you know you can depend on them. In order to allow fine-grain featu

  • Account Suspended

    Account Suspended This Account has been suspended. Contact your hosting provider for more information.

  • ISO/IEC JTC1/SC22/WG21 - The C++ Standards Committee - ISOCPP

    2024-08-15: standards | projects | papers | mailings | internals | meetings | contacts News 2024-08-15: The deadline for the 2024-09 mailing is 2024-09-17 17:00 UTC News 2024-08-15: The 2024-08 mailing is available (13000 kB tar.gz), individual papers News 2024-07-22: The C++ Standard Core Issues List (Revision 115) is available (.zip) News 2024-07-16: The 2024-07 post-St. Louis mailing is availab

  • Intel® Threading Building Blocks

    oneTBB is a flexible C++ library that simplifies the work of adding parallelism to complex applications, even if you are not a threading expert. The library lets you easily write parallel programs that take full advantage of the multi-core performance. Such programs are portable, composable and have a future-proof scalability. oneTBB provides you with functions, interfaces, and classes to parallel

    Intel® Threading Building Blocks
  • 幽霊型 - Faith and Brave - C++で遊ぼう

    幽霊型(Phantom Type)というのがあります。この名前はHaskell由来なのですが、C++でも使います。 私が以前作った「浮動小数点数と整数のstrong typedef」でも使っているのですが、以下のような、「型パラメータの宣言には現れるが、定義では使用されない型」を幽霊型と呼びます。 template <class FloatingPoint, class Tag> // Tagは内部では一切使わない class tagged_real { FloatingPoint value_; }; 型パラメータの異なる型は、別な型と見なされるので、それを利用してコンパイル時の型チェックを強化するのに使用します。 この例では、tagged_realとtagged_realのような、用途の異なる型同士の、暗黙の型変換を禁止するのに使用しています。 この例に限らず、C++のタグディスパッチ

    幽霊型 - Faith and Brave - C++で遊ぼう
  • http://ia700501.us.archive.org/20/items/NerdsCentralPodcasts/038-Why-Learn-C.mp3

    TaKUMA
    TaKUMA 2012/01/06
  • はてなブログ | 無料ブログを作成しよう

    夏休み何べてる?頑張らない編 「うぉぉ!何でみんな一日中お腹空いてるんだー!」冷蔵庫を開き吠える夏休み。母さんの叫びを聞き、2ダースの卵が一斉にこちらを見て慰めるような顔をした。分かってるわよ、吠えたってご飯は出てこないわよ! 作る→べる→片付ける→作るの無限ループ そこに、送迎と…

    はてなブログ | 無料ブログを作成しよう
  • Spaghetti Source - 各種アルゴリズムの C++ による実装

    ACM/ICPC(プログラミングコンテスト)系列の問題を解くことを目標にして,各種アルゴリズムを C++ で実装してみた.極めて意地が悪い類の問題には対応していないし,特定の入力に対して高速に動くということもない.計算量も最良とは限らない. これらを参考にする方への注意とお願い: これらの記述は正確とは限りません.参考文献を参照することを強く推奨します.間違っている場合は是非教えてください. これらのプログラムは間違っているかもしれません.各人で検証することを強く推奨します.バグがあれば是非教えてください. 分類が怪しいので,これはこっちだろう,ということがあればコメントを下さると助かります. 注意! 現在書き換え中 TODO 分類を正しく行う. 全体的に説明と使い方を詳しく. Verify していないものを Verify. ボロノイ図(いつになることやら……) 基 テンプレート グラフ

  • ALGORITHM NOTE

    X×Y個のセルから成るグリッド上のスタート地点から出発し、全5種類のパチクリ(生物)を捕まえた状態でゴール地点まで行く最短コストを求める問題です。各パチクリはそれぞれ、火、氷、木、土、水の属性を持ち、火のパチクリは氷のパチクリを捕まえることができ、氷のパチクリは木のパチクリを捕まえることができ、といったように火→氷→木→土→水→火というような属性の関連があります。スタート地点で最初に持つパチクリを1つ選ぶことができます。グリッドのサイズx, y はそれぞれ2以上1000以下で、各属性のパチクリの数はそれぞれ0以上1000以下です(全体の数は5000以下)。 最初に1つのパチクリを選んだ後のパチクリを捕まえる順番は、上記属性の関連の順番になります。例えば最初に火の属性をもつパチクリを持っていれば、氷、木、土、水の属性をもつパチクリを順番に捕まえてゴールに行けばよいので、下図に示すDAG(Di

  • GCC some extensions

    gcc(Gnu C Compiler)の拡張文法 [警告!] C/C++言語初心者はこのページを読まないでください。 このページではgcc独自のC/C++拡張文法について解説します。 これらの拡張文法が可能にする機構は確かに便利なのですが、 もちろんANSI規格に従っていないので、一般的には使うべきではありません。 C/C++言語文法を学び始めている初心者はこれらgcc拡張文法を 知るべきではありません。C/C++言語を正しく理解する上で大きな 支障となります。 C/C++言語を十分に熟知した者は、gccがこのようなこともすることを 「雑談」として知っておくと楽しいかもしれません。もちろん 実戦に使うべきではありませんが。しかし初心者が偶然に、これらの 機能を使ってうまくいく場合がありますので、そのような初心者を 見つけたら、それが標準規格ではないことを注意してください。 配列変数をコピー

  • Login Page

    Cinder is a community-developed, free and open source library for professional-quality creative coding in C++.

  • 人工言語世界 - kMonos.NET

    プログラミングのTips的なもの、あるいはお遊びの産物、 あるいはリンク集などを置いていくつもり。 C++ Let's boost C++のクラスライブラリ Boost の紹介。 C++ Library Links boost以外にも面白そうなライブラリが色々あるのでリンク! C++ Glossary 用語集というか略語集というか。 klx C++ Libraries 自分で使っているC++小物ライブラリ集。 D D言語リファレンス 日語版 訳してみました。 わかったつもりになるD言語 Dの紹介ドキュメントです。D Memo 2007。 Diki D言語で書いたWiki。 tx UTF-8 以外の環境で日語IOをどうにかする応急処置ライブラリ General テキストエディタを作るメモ テキストエディタを作ろうとしたときに個人的に作ったメモ。 Digital Mars C++ を使うメ

  • 本の虫: 多くのプログラマは言語を表面的な理解だけで使っている

    一般のプログラマの多くは、プログラミング言語というものを、ごく浅い表面的な理解だけで使っている。これは、いわゆる「入門書」によるところが大きい。入門書は、言語をできるだけパターンで教えようとする。かくかくしかじかの場合には、とらとらうまうまのように書いておけばいい、などといった具合だ。 たとえば、配列の全要素や、aggregateの全メンバーをゼロで初期化したいとする。多くのC++プログラマは、以下のように書く事であろう。 int a[100] = {0} ; このコードは、正しく動く。配列aの要素は、すべてゼロで初期化される。しかし、C++という言語を考えた場合、{0}と書く必要はない。空の{}で十分なのである。 int a[100] = {} ; では何故、多くのC++プログラマは{0}と書くのか。それは、多くの参考書が、そのように書いているからに過ぎない。大多数のC++プログラマは、