
At a Glance
412 Pages
25.4 x 17.78 x 2.39
Hardcover
$89.99
or 4 interest-free payments of $22.50 with
 orÂAims to ship in 7 to 10 business days
Pro Visual C++ 2005 for C# Developers features two distinct sections that lead to a simple migration path for you to move toward Visual C++ 2005 development. If you're an experienced developer approaching Visual C++ from a C# background with .NET 1.1 or 1.0, you'll greatly benefit from this book. The first section introduces the Visual C++ 2005 technology, then outlines the language in fast-track chapters. This overview focuses on the mechanics of the language, without introducing any coding. Additional chapters cover the techniques and issues involved when converting C# applications to Visual C++ 2005.
The next portion of the book functions as a detailed reference to Visual C++ 2005 providing information and advice about the technology and its coding techniques. Here you can dip into it as necessary for assistance with your work. This material supplements the information that is already freely available within Visual Studio .NET 2005. With its thorough regard for Visual C++ 2005, this book will earn a place on your shelf as a helpful reference for years to come.
Industry Reviews
From the reviews:
"This book is designed to guide C# programmers in how to use C++ in the Visual Studio environment. Thus, this book fills a definite need. ... The book concentrates on the extensions to C++ found in Visual Studio 2005, which makes it compatible with the newer features of programming languages found in C# (and frequently in Java). ... This book is clearly intended for a specialized audience, and it appears to be well thought out and focused." (J. Miller, ACM Computing Reviews, Vol. 49 (8), August, 2008)
Fast Track to C++/CLI | |
Hello, World | |
Starting the Visual Studio 2005 Console | |
Retrieving the Source Files | |
Executing HelloCpp | |
A Quick Tour of the Visual C++ IDE | |
Understanding Projects and Solutions | |
Understanding the Differences | |
Window Layout | |
Building, Executing, and Debugging | |
Summary | |
There's No Place Like Home | |
Developing the Program | |
Deal Me In | |
The Completed C# Program | |
A Quick Look at the Code | |
Projects and Solutions | |
A Quick Look | |
Building and Executing the Project | |
Binding C++ | |
Doing the Shuffle Without the IDE | |
Basic Command-Line Compilation | |
Using a Module | |
Summary | |
Syntax | |
C# class (Reference Type) | |
C# struct (Value Type) | |
Caveat | |
Lack of Locality | |
The C++ Approach | |
Types of Member Access Operators | |
Keyword Differences | |
Arrays and Functions | |
The Conversion Operators | |
Memory Allocation | |
Accessibility and Visibility | |
Properties, Events, and Delegates | |
Generics | |
Built-in Types | |
Summary | |
C# to C++/CLI | |
Add the Keyword namespace After using | |
Add the Punctuator ^ to the Reference Type Declarations | |
Modify the Built-in Types | |
Change the Array Declarations and Type Parameters | |
Change the Enumeration Declarations | |
Change the Object Allocations and Instantiations | |
Change the Pass by Reference Parameters | |
Change the Class Member Access Operators for Handles | |
Change the Separators for Namespaces and Static Accesses | |
Change the Class Declarations | |
Add the Function main() | |
Summary | |
Tools | |
Lutz Roeder's .NET Reflector | |
What Is Reflection? | |
Lutz Roeder's .NET Reflector | |
Installing and Loading .NET Reflector and the C++/CLI Add-in | |
Executing .NET Reflector | |
Instant C++ | |
Tools Shipped with Visual Studio | |
Microsoft .NET Framework IL Disassembler (ILDasm) | |
Dependency Walker (Depends) | |
More Visual Studio Tools | |
Summary | |
Data Types | |
C# Types vs. C++ Types | |
The C++ struct Keyword | |
Native Classes | |
Value Types and Reference Types | |
Dynamic Memory Pools | |
Garbage Collection | |
Initialization | |
Boxing | |
Constructor Forwarding | |
C# Partial Classes | |
Reference Types on the Stack | |
Basic Types | |
Basic Type Differences | |
Missing Keywords | |
Marshaling Required | |
Summary | |
Arrays | |
Native Arrays | |
Managed Arrays | |
Managed Array Details | |
A Simple Example | |
Arrays as Parameters and Return Values | |
Sophisticated Example | |
Higher Dimensional Arrays | |
Native Arrays | |
Summary | |
Polymorphism and Protection | |
Polymorphism | |
Inheritance | |
Interfaces | |
Abstract Classes | |
Sealed Classes | |
Static Classes | |
Methods | |
Virtual Methods | |
Working with Methods | |
Virtual Methods Summary | |
Accessing Base Class Fields and Methods | |
Protection Mechanisms | |
Visibility | |
Accessibility | |
Inheritance | |
Declaring ref struct and ref class | |
Overload Resolution | |
Hide by Name and Hide by Signature | |
Summary | |
Details | |
Pointers and Unsafe Code | |
The C# View: A Blessing and a Curse | |
Pointers: A Definition and a Caveat | |
Valid Targets and Syntax | |
Common Pointer Operators | |
Example of Pointer Usage | |
Verifiable Code and Pointer Usage in C# | |
Side Effects of Writing Unsafe Code | |
Pointer Usage in C++ | |
Verifiable Code in C++ | |
C++ Handles | |
C++/CLI Address Operators | |
Complex Examples | |
Nightmares | |
Summary | |
Properties and Events | |
A Basic Example Using Properties in C# | |
A Basic Example Using Properties in C++/CLI | |
A Look Inside the Grammar | |
Trivial Properties | |
Indexed Properties | |
C# Properties | |
Advanced Properties of Properties | |
Property Caveats | |
Miscellaneous Property Details | |
Events and Delegates | |
Delegates | |
Multicast Delegates | |
Instance Delegates | |
Events | |
Summary | |
Expressions and Operators | |
Operator Overloading | |
Complex Numbers, a Basic Example | |
A Mathematical Diversion: Numbers Modulo Primes | |
Implicit and Explicit Conversions of Built-in Types | |
User-Defined Conversions | |
CLS-Compliant Operators | |
Summary | |
The End of the Beginning | |
Include Files | |
Forward Declarations | |
The Problem | |
The Solution | |
Include File Caveats | |
Types of Declarations | |
Scope Resolution Operator | |
Nullable Types | |
Examples in C# and C++/CLI | |
The ?? Operator in C# | |
Under the Hood | |
Checked Expressions | |
Anonymous Methods | |
Context-Sensitive Keywords | |
Method Group Conversion | |
Constructor-Initialized Variables | |
Expression Statements with No Effect | |
Exceptions | |
Basic Exception Handling | |
Function-Try Blocks | |
Summary | |
Fun, Fun, and More Fun | |
Dropping Light Bulbs | |
Initial Thoughts | |
A Rough Approximation | |
A Little Algebra | |
Discovering a Recursive Algorithm | |
Implementation | |
First Drop | |
Bridge Crossing | |
Background | |
Algorithm and Implementation | |
The Code | |
Taking the Algorithm for a Spin | |
Dealing with Cannibals | |
Assumptions | |
The Code | |
Summary | |
Advanced Concepts | |
Generics | |
A Queue of Tasks | |
C# Implementation Under .NET 1.0 | |
Moving to Generics | |
Creating Generic Classes in C++/CLI | |
Summary | |
Introduction to Templates | |
Comparison with Generics | |
Syntactic Differences | |
Summary | |
Compilation Process | |
Templates Don't Really Exist | |
Constraining Freedom Is a Good Thing | |
The Template Paradigm | |
Specialization | |
Partial Specialization | |
Partial Ordering of Function Templates | |
Nontype Template Parameters | |
Complex Numbers | |
Overview | |
Mathematical Formulas | |
Generic Implementation | |
Templates to the Rescue | |
Core Differences: Templates and Generics | |
Summary | |
Advanced Generics and Casts | |
Constraints | |
Kinds of Constraints | |
Type Constraints | |
Satisfying Type Constraints | |
The gcnew Constraint | |
The value class Constraint | |
The ref class Constraint | |
Summary | |
Cast Operators | |
Runtime Type Identification | |
const_cast<>() | |
static_cast<>() | |
dynamic_cast<>() | |
reinterpret_cast<>() | |
safe_cast<>() | |
An Adder | |
Generic Delegates | |
Summary | |
The Preprocessor | |
C# Preprocessor Commands | |
Code Regions | |
Conditional Code Compilation | |
C++ Preprocessor Commands | |
Full Text Substitution Language | |
Debugging Support | |
Function Syntax | |
Concatenation Operator | |
String Operator | |
Macros on Macros | |
Special Preprocessor Predefined Macros | |
#define | |
#undef | |
Conditional Directives | |
#include | |
#using | |
#error | |
#pragma | |
Some Useful Pragmas | |
Summary | |
Native C++ | |
The iostream Library | |
Pointers to Members | |
Operators new and delete | |
/Zc:forScope | |
/Zc:wchar_t | |
Default Parameters | |
C++ Runtime Library Functions | |
stdio.h | |
stdlib.h | |
Other Include Files | |
STL | |
vector | |
deque | |
list | |
auto_ptr | |
Summary | |
Multiple Language Support | |
.NET Language Integration | |
Gathering Metadata | |
Tracking Students Example | |
Summary | |
.NET Interoperability | |
Wait for the Beep | |
C# Platform Invoke | |
C++ Built-in Support | |
Using C++ for C# InterOp | |
Summary | |
Final Thoughts | |
Standard Dispose Pattern | |
Destructors and Finalizers | |
Implementation in C# | |
Implementation in C++/CLI | |
For Further Study | |
Function Objects | |
Special Pointers | |
Interior Pointers | |
Pinning Pointers | |
Templates Revisited | |
Class Hierarchy Pitfalls | |
Type Aliases (typedef) | |
Friends | |
Volatile Data | |
Constant and Mutable Data | |
Attributes | |
More on IntelliSense and Source Browsing | |
Summary | |
Index | |
Table of Contents provided by Publisher. All Rights Reserved. |
ISBN: 9781590596081
ISBN-10: 1590596080
Series: Pro
Published: 1st November 2006
Format: Hardcover
Language: English
Number of Pages: 412
Audience: General Adult
Publisher: Springer Nature B.V.
Country of Publication: US
Dimensions (cm): 25.4 x 17.78 x 2.39
Weight (kg): 0.8
Shipping
Standard Shipping | Express Shipping | |
---|---|---|
Metro postcodes: | $9.99 | $14.95 |
Regional postcodes: | $9.99 | $14.95 |
Rural postcodes: | $9.99 | $14.95 |
How to return your order
At Booktopia, we offer hassle-free returns in accordance with our returns policy. If you wish to return an item, please get in touch with Booktopia Customer Care.
Additional postage charges may be applicable.
Defective items
If there is a problem with any of the items received for your order then the Booktopia Customer Care team is ready to assist you.
For more info please visit our Help Centre.
You Can Find This Book In

Intro to Python for Computer Science and Data Science
Learning to Program with AI, Big Data and The Cloud, Global Edition
Paperback
RRP $153.95
$123.25
OFF

Introduction to High Performance Computing for Scientists and Engineers
Chapman & Hall/CRC Computational Science
Paperback
RRP $166.00
$121.75
OFF