herb sutter partner program manager c++: conformance and cross-platform mobile development
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 RTMTRANSCRIPT
Herb SutterPartner Program Manager
C++: Conformance and Cross-platform Mobile Development
• Conformance Update• Cross Platform Code and
C++• Resources
Agenda
__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
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++
Expensive Model for Cross Platform Apps
C#, XAML, C++
Obj-C,Swift Java Obj-C,
Swift
Win, WP OS X Android iOS
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++
PowerPoint Actual (approx. to scale)Win, WP OS X Android iOS
C++
• 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