They say with great power comes great responsibility. As GenAI and machine learning technologies gain prominence, the need for AI governance –...
C++11標準ライブラリで追加されたenable_shared_from_thisクラステンプレートについてメモ。Boost.Smart Pointersライブラリでも同機能を提供している。 N3337 20.7.2.4/p1より引用。 A class T can inherit from enable_shared_from_this<T> to inherit the shared_from_this member functions that obtain a shared_ptr instance pointing to *this. 具体的な利用例としては http://www.boost.org/doc/html/boost_asio/tutorial/tutdaytime3.html など(使用理由の説明)。 正しい利用方法 「クラス型Tの*thisへのshared_ptr<
Boost.Asioにはこれまでdeadline_timerというBoost.DateTimeのposix timeベースのタイマーがありましたが、Boost 1.49.0からBoost.Chronoベースの以下のタイマーが導入されました: basic_waitable_timer : クロックの切り替え用 system_timer : system_clockでのタイマー steady_timer : steady_clockでのタイマー high_resolution_timer : high_resolution_clockでのタイマー また、basic_waitable_timerのテンプレート引数として渡すクロック型が満たすべき要件を定義するためのwait_traitsという型も追加されています。 この新タイマーの使い方としては以下のようになります: #include <iost
前回、ユーザー定義リテラルのすべてを説明したつもりであったが、いくつか細かい漏れがあった。 まず、ユーザー定義リテラルの宣言であるが、実は文法上、空白文字が必要な箇所がある。""と識別子の間だ int operator "" /*ここに少なくともひとつの空白文字が必要*/ _identifier( unsigned long long int ) ; 空白文字を入れないと、""_identiferがひとつのトークンだとみなされてしまう。 もちろん、この宣言を参照する際にも、空白文字が必要である。 operator "" /*空白文字が必要*/ _identifer( 123ULL ) ; また、ユーザー定義リテラルのオーバーロードは、あらかじめ定められた仮引数リストやテンプレートしか使えないが、その他は、普通の関数と変わりないということである。もちろん、inlineやconstexprで宣
C++11にはユーザー定義リテラルというものがある。私はこの機能が嫌いだ。しかし、どうやらgcc 4.7がある程度の実装を終えたらしい。日本一C++に詳しい男を自称する私としては、試さなくてはならない。そこで、この記事を書く。この記事を読めば、今日から君もユーザー定義リテラルをバリバリに使えるようになる。 まず、C++11では、非常に不思議な理由により、ユーザー定義リテラルは、演算子のオーバーロードという形で実装する。はて、リテラルにつくサフィックスは演算子なのだろうか。それはともかく、ユーザー定義リテラルの識別子には、一言注意が必要である。ユーザー定義リテラルの識別子は、必ずアンダースコアからはじめなければならない。 私が注意深く、「識別子」と書いているのには訳がある。ユーザー定義リテラルの識別子は、「名前」ではないからだ。この詳細を理解する必要はない。重要なことは、必ず「識別子」をアン
C++11 (他) 入門 1. C++11 (他) 入門 ~ Java, C, +αを学んだ貴方へ(というのは真っ赤な嘘) Yuta Hirokawa, @krustf/総長1 2012/2/15 2. 内容, 注意 Effective C++ の重要そうな部分を独断で抜き出し C++11 の規格で直結しそうな機能を幾つか紹介 テンプレートに関するテクニックを少々解説 最新規格 C++11(旧称C++0x) に則る ウェブページや書籍では未だC++0x表記による情報が多い 検索時は気を付けること 2 導入 2012/2/15 3. 注意 C++11 完全対応コンパイラは未だ無い 2012年2月14日現在 当スライドでは以下の環境を使用する 一部以下の環境では使えないコードがある(かも) Compiler gcc 4.5 Build Option -std=gnu++0
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く