Presentation is loading. Please wait.

Presentation is loading. Please wait.

Kate Gregory | Gregory Consulting James McNellis | Senior Engineer, Visual C++

Similar presentations


Presentation on theme: "Kate Gregory | Gregory Consulting James McNellis | Senior Engineer, Visual C++"— Presentation transcript:

1 Kate Gregory | Gregory Consulting James McNellis | Senior Engineer, Visual C++

2 Meet Kate Gregory | ‏@gregcons Consultant (mentor), author, developer All about community –MVP, RD, user groups, conferences –StackOverflow –Twitter, blog, Facebook… Over 35 years of industry experience Using C++ since before Microsoft had a C++ compiler

3 Meet James McNellis | @JamesMcNellis Senior Software Development Engineer at Microsoft –Currently a member of the Visual C++ Libraries team One of the top C++ contributors on StackOverflow Using C++ since Microsoft released Visual C++ 6.0 Usually has absolutely no idea what he is doing

4 Course Topics C++: A General Purpose Language and Library 01 | Getting Started 05 | Pointers and RAII – Resource Acquisition is Initialization 02 | Fundamentals06 | The C++ Standard Library, or STL 03 | The C++ Object Model07 | Next Steps 04 | References and Inheritance

5 Setting Expectations Target Audience –Has done some development in any other programming language –Familiar with concepts like looping, conditional expressions –No need for any C++ background or any C-related language Suggested Prerequisites/Supporting Material –Book: C++ Primer, 5 th Ed., by Lippman, Lajoie, and Moo Software and Tools –Microsoft Visual Studio Express 2013 for Windows Desktop –Free download Sample Code available –http://aka.ms/CodeCPlusPlusJShttp://aka.ms/CodeCPlusPlusJS

6 Microsoft Virtual Academy –Free online learning tailored for IT Pros and Developers –Over 1M registered users –Up-to-date, relevant training on variety of Microsoft products “Earn while you learn!” –Get 50 MVA Points for this event! –Visit http://aka.ms/MVA-Voucherhttp://aka.ms/MVA-Voucher –Enter this code: CPlusPlus (expires 12/20/2013) Join the MVA Community!

7 01 | {Getting Started} Kate Gregory | Gregory Consulting James McNellis | Senior Engineer, Visual C++

8 Development Environment How to write, build, and run code Quick History of C++ Variables and Types Module Overview

9 Lesson 1 – Development Environment Development Environment

10 Visual Studio Express 2013 for Windows Desktop –It’s free and it’s all you need to follow along Not using Windows? –C++ works on other platforms too –http://isocpp.org/get-started has links to compilershttp://isocpp.org/get-started Our sample code is available –LINK TBA

11 DEMO Hello, World!

12 Lesson 2: How to Write, Build and Run Code How code is built Structure of a C++ program Debugging

13 The Compilation Process Preprocessor Takes your C++ source code and evaluates preprocessor directives. Produces a preprocessed source file (but usually is just part of compiler). Compiler Takes preprocessed source code, compiles into object files. Checks that your code conforms to all syntax and semantic rules (e.g., no type errors). Accepts promises from the code about things defined in other source files. Linker Takes object files, links them into an executable program. Ensures that all of the promises to the compiler are kept.

14 Structure of a C++ program #include int main() { std::cout << "Hello, World!" << std::endl; return 0; } Use a library Special function name that the OS calls to run your program std::cout represents console output << means send the next thing to it

15 DEMO Building

16 Debugging Normally a console application –Starts –Executes the code in main() –Might print to the console (or read from the keyboard) –Terminates (quits) Under a debugger, you can pause execution –Inspect values –Watch execution proceed –Slower, but vital to understanding

17 DEMO Debugging

18 Lesson 3: Quick History of C++ Born in 1979 as C with Classes –Retains backward compatibility with C Named C++ in 1983 Ratified as ISO standard in 1998 Continues to change under stewardship of a standards committee

19 Lesson 1: Types C++ is strongly typed Fundamental types Casting (changing type)

20 DEMO Types

21 Fundamental Types Types you use a lot: –int, unsigned int –double –bool Types you may see –char, unsigned char –long, unsigned long –short, unsigned short –float http://msdn.microsoft.com/en-us/library/cc953fe1.aspx

22 Casting Instead of writing code that relies on the compiler to convert one type to another, you can ask for it explicitly i = static_cast (3.2); Makes a good “signpost” for others who read your code Takes away compiler warnings –Always try to build warning free

23 DEMO Casting

24 ©2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Office, Azure, System Center, Dynamics and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.


Download ppt "Kate Gregory | Gregory Consulting James McNellis | Senior Engineer, Visual C++"

Similar presentations


Ads by Google