Skip to Content
Effective Modern C++ ―C++11/14プログラムを進化させる42項目
book

Effective Modern C++ ―C++11/14プログラムを進化させる42項目

by Scott Meyers, 千住 治郎
September 2015
Intermediate to advanced
364 pages
10h 33m
Japanese
O'Reilly Japan, Inc.
Content preview from Effective Modern C++ ―C++11/14プログラムを進化させる42項目
1
1
型推論
C++98 に型の推論規則は一種類しかありませんでした1。関数テンプレートです。C++11 ではこの
規則に若干の変更を加え、auto による推論規則、decltype による推論規則の 2 つを追加しました。
さらに C++14 では auto decltype の適用可能場面を拡張しました。型を推論できる場面が増え
れば、暴虐にも等しい、自明もしくは冗長な型を1文字ずつ正確に入力する労苦からプログラマを
解放できます。ソースコードの 1 箇所で型を変更すれば、型推論のおかげで他の箇所にも自動的に
伝搬され、C++ ソフトウェアの適用性も高まります。しかしながら、ソースコードを読み下す際の難
易度が上がってしまうという問題もあります。これはコンパイラが推論した型が期待されるほど明
白ではない場合があるためです。
型がどのように推論されるかを完全に把握しなければ、現代の C++ での効率的なプログラミ
ングは不可能です。型が推論される場面は多岐に渡り、関数テンプレート呼び出しや、auto
記述した箇所はほぼそうです。decltype の式もそうですし、C++14 には謎めいた暗号のような
decltype(auto) もあります。
本章では型推論を解説します。すべての C++ 開発者にとって必須の知識です。テンプレートの型
がどのように推論されるか、auto はこれをどのように利用しているか、また decltype はどのよう
に処理されるかについてです。さらに、コンパイラを利
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

C++ High Performance - Second Edition

C++ High Performance - Second Edition

Björn Andrist, Viktor Sehr

Publisher Resources

ISBN: 9784873117362Other