C++ソフト開発ツールのセオライザー
技術解説

実践C++応用講座

実践C++応用講座

第27回 条件演算子のちょっと便利な使い方

お久しぶりの田原です。 時が経つのは速いもので第26回を書いてからもう3週間も経過していました。気持ち的には先週書いたばかりです。歳を取ると加速するとは聞きますが、本当に加速しますね。 さて、前回に引続き今回も条件演算子 …

第26回 不思議な3項演算子

こんにちは。お久しぶりの田原です。 あまり長い間書かないと、永遠に書かなくなりそうで、ちょっと気を引き締めます(笑) さて、今回は3項演算子(条件演算子)の型について解説します。このブログをお読みの皆さんは既に条件演算子 …

第25回 ローカルな関数テンプレート的なジェネリック・ラムダ

こんにちは。田原です。 C++は関数の中で関数を定義できませんがクラスは定義できました。ではテンプレートはできるか?と問うと残念ながらできないようです。しかし、C++14から導入されたジェネリック・ラムダは一種のテンプレ …

第24回 高性能だがちょっと危険な参照キャプチャ

こんにちは。田原です。 前回はラムダ式のコピー・キャプチャを解説しました。コピー・キャプチャは安全なので寿命の長いラムダ式でも安心して使えます。ですが当然コピー負荷が掛かります。コピーせずにパラメータを渡して保持するには …

第23回 ラムダ式のメンバ変数≒キャプチャ

こんにちは。田原です。 ラムダ式は「ある種のクラス(operator()を持っている)」のオブジェクトです。ですので、仕組み上ラムダ式はメンバ変数を持つことができます。そして、C++のラムダ式はそれを実にさりげなく使える …

第22回 関数オブジェクトとラムダ式

こんにちは。田原です。 前回、std::tupleの各要素を動的にアクセスする方法を解説しました。しかし、取り出した要素に対して行う処理は別途 関数テンプレートを用意して呼び出しました。しかし、その内容が数行程度の短い時 …

第21回 std::tupleの要素を動的にアクセスする

こんにちは。田原です。 前回、std::tupleの要素全てを静的に枚挙してみました。しかし、全てではなく特定の1つを表示したい場合もあるでしょう。また、どの一つを表示するのかコンパイル時ではなくプログラム起動後に決定し …

第20回 std::tupleの要素を静的に枚挙する

こんにちは。田原です。 std::tupleには複数の要素を保存できます。ならば、それを枚挙したくなりますね。(私だけ?)しかし、これが意外に難しいです。std::get<i>(タプル)の i はコンパイル時 …

第19回 CRTPを使ってみよう!

こんにちは。田原です。 CRTPとはCuriously Recurring Template Patternの頭文字で「奇妙に再帰したテンプレートパターン」とも訳されるようです。「奇妙」は「おかしな」とか「変な」のニュア …

第18回 ユニバーサル参照の落とし穴

こんにちは。田原です。 私はChironianのハンドルで良くteratailに書き込みしているのですが、ちょと前にユニバーサル参照に関連した質問がありました。そこで私も初めて気がついたのですが、ユニバーサル参照には意外 …

1 2 3 »
PAGETOP
Copyright © Theoride Technology All Rights Reserved.
Powered by WordPress & BizVektor Theme by Vektor,Inc. technology.