herb sutter partner program manager c++: conformance and cross-platform mobile development

8
Herb Sutter Partner Program Manager C++: Conformance and Cross-platform Mobile Development

Upload: dwayne-jennings

Post on 18-Jan-2018

217 views

Category:

Documents


0 download

DESCRIPTION

__func__ Extended sizeof Thread-safe function local static init Inline namespaces UCNs in literals char16_t, char32_t Implicit move generation alignof alignas thread_local Unrestricted unions Attributes Expression SFINAE Ref-qualifiers: & and && for *this noexcept (unconditional) noexcept (full) C++14 decltype(auto)Inheriting constructors constexpr (except ctors, literal types) C++98 two-phase lookup C++14 auto function return type deduction User-defined literalsconstexpr (full) C++14 extended constexpr C++14 generic lambdas (partial) C++14 generalized lambda capture C++14 generic lambdas (full) C++14 variable templates C++TS? await (partial) C++14 libs: std:: user- defined literals C++TS? awaitC++TS concepts Available in CTP3+ Med. probability RTM

TRANSCRIPT

Page 1: Herb Sutter Partner Program Manager C++: Conformance and Cross-platform Mobile Development

Herb SutterPartner Program Manager

C++: Conformance and Cross-platform Mobile Development

Page 2: Herb Sutter Partner Program Manager C++: Conformance and Cross-platform Mobile Development

• Conformance Update• Cross Platform Code and

C++• Resources

Agenda

Page 3: Herb Sutter Partner Program Manager C++: Conformance and Cross-platform Mobile Development

__func__Extended sizeof

Thread-safe function local static init

Inline namespaces

UCNs in literalschar16_t, char32_t

Implicit move generation

alignofalignas

thread_localUnrestricted

unionsAttributes

Expression SFINAE

Ref-qualifiers: & and && for *this

noexcept (unconditional) noexcept (full)

C++11 preprocessor

(incl. C++98 & C11)

C++14 decltype(auto)

Inheriting constructors

constexpr (except ctors, literal

types)C++98 two-phase

lookupC++14 auto function

return type deduction

User-defined literals constexpr (full) C++14 extended constexpr

C++14 generic lambdas (partial)

C++14 generalized lambda capture

C++14 generic lambdas (full)

C++14 variable templates

C++TS? await (partial)

C++14 libs: std:: user-defined literals C++TS? await C++TS concepts

VC++ Conformance UpdateVC++ Nov 2013 CTP Available in

CTP3+Med. probability

RTM

Visual Studio 2015

Page 4: Herb Sutter Partner Program Manager C++: Conformance and Cross-platform Mobile Development

What’s new in the worldHow do you make your app available to 95%+ of mainstream users?

Before: Ship an app on WindowsToday: Ship four apps on Windows, OS X, Android, and iOS

What’s new in C++ in Visual StudioHow do we support modern application development in C++?

Before: Visual C++ (c1xx, c2) for targeting Windows, WP, XboxToday: Visual C++ (c1xx, c2) for targeting Windows, WP, Xbox

and Clang & LLVM for targeting Android (and soon iOS)

Cross Platform Development and C++

Page 5: Herb Sutter Partner Program Manager C++: Conformance and Cross-platform Mobile Development

Expensive Model for Cross Platform Apps

C#, XAML, C++

Obj-C,Swift Java Obj-C,

Swift

Win, WP OS X Android iOS

Page 6: Herb Sutter Partner Program Manager C++: Conformance and Cross-platform Mobile Development

A Modern Model for Cross Platform AppsWin, WP OS X Android iOSC#,

XAML Obj-C Java Obj-C

Mini-PALs

Mini-PALs

Mini-PALs

Mini-PALs

C++

Page 7: Herb Sutter Partner Program Manager C++: Conformance and Cross-platform Mobile Development

PowerPoint Actual (approx. to scale)Win, WP OS X Android iOS

C++

Page 8: Herb Sutter Partner Program Manager C++: Conformance and Cross-platform Mobile Development

• CppCon talks (Sep 2014)• From the Dropbox Trenches: A Deep Dive

into Two Cross-Platform Mobile Apps Written in C++ http://youtu.be/5AZMEm3rZ2Y (1 hour)

starting from separate Obj-C and Java apps• C++ in Microsoft Office: How Microsoft

Uses C++ to Deliver Office Applications Across Windows, Apple, Android, and Web Platforms http://youtu.be/3HROqnw-nf4 (2 hours)

starting from a C/C++ code base• www.visualstudio.com• blogs.msdn.com/b/vcblog

Resources