C++ for game programmers:
Gespeichert in:
Vorheriger Titel: | Llopis, Noel C++ for game programmers |
---|---|
1. Verfasser: | |
Format: | Buch |
Sprache: | English |
Veröffentlicht: |
Boston, MA
Course Technology
2007
|
Ausgabe: | 2. ed. |
Schriftenreihe: | Game development series
|
Schlagworte: | |
Online-Zugang: | Inhaltsverzeichnis |
Beschreibung: | XXIX, 480 S. Ill., graph. Darst. 1 CD-ROM (12 cm) |
ISBN: | 9781584504528 1584504528 |
Internformat
MARC
LEADER | 00000nam a2200000 c 4500 | ||
---|---|---|---|
001 | BV040277989 | ||
003 | DE-604 | ||
005 | 20120720 | ||
007 | t | ||
008 | 120627s2007 ad|| |||| 00||| eng d | ||
020 | |a 9781584504528 |c pbk. with cdrom : alk. paper |9 978-1-58450-452-8 | ||
020 | |a 1584504528 |c pbk. with cdrom : alk. paper |9 1-58450-452-8 | ||
035 | |a (OCoLC)802474183 | ||
035 | |a (DE-599)HBZHT015759826 | ||
040 | |a DE-604 |b ger |e rakwb | ||
041 | 0 | |a eng | |
049 | |a DE-703 |a DE-20 | ||
084 | |a ST 324 |0 (DE-625)143660: |2 rvk | ||
100 | 1 | |a Dickheiser, Michael |d 1970- |e Verfasser |0 (DE-588)137237782 |4 aut | |
245 | 1 | 0 | |a C++ for game programmers |c Michael J. Dickheiser |
250 | |a 2. ed. | ||
264 | 1 | |a Boston, MA |b Course Technology |c 2007 | |
300 | |a XXIX, 480 S. |b Ill., graph. Darst. |e 1 CD-ROM (12 cm) | ||
336 | |b txt |2 rdacontent | ||
337 | |b n |2 rdamedia | ||
338 | |b nc |2 rdacarrier | ||
490 | 0 | |a Game development series | |
650 | 0 | 7 | |a Computerspiel |0 (DE-588)4010457-6 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a C++ |0 (DE-588)4193909-8 |2 gnd |9 rswk-swf |
689 | 0 | 0 | |a C++ |0 (DE-588)4193909-8 |D s |
689 | 0 | 1 | |a Computerspiel |0 (DE-588)4010457-6 |D s |
689 | 0 | |5 DE-604 | |
780 | 0 | 0 | |i 1. Auflage |a Llopis, Noel |t C++ for game programmers |
856 | 4 | 2 | |m Digitalisierung UB Bayreuth |q application/pdf |u http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=025133409&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |3 Inhaltsverzeichnis |
999 | |a oai:aleph.bib-bvb.de:BVB01-025133409 |
Datensatz im Suchindex
_version_ | 1804149285609013248 |
---|---|
adam_text | CONTENTS
Acknowledgments
xix
Introduction
xxi
About the Cover Image
xxix
Part
і
c++
essentials
і
Chapter
і
inheritance
з
1.1
Classes
3
1.2
Inheritance
5
1.3
Polymorphism and Virtual Functions
8
1.4
To Inherit or Not to Inherit?
11
1.4.1
Rule
1:
Containment versus Inheritance
11
1.4.2
Rule
2:
Behavior versus Data
11
1.5
When to Use and When to Avoid Inheritance
12
1.6
Inheritance Implementation (Advanced)
14
1.7
Cost Analysis (Advanced)
16
1.8
Alternative (Advanced)
19
1.9
Program Architecture and Inheritance (Advanced)
20
1.10
Conclusion
22
Suggested Reading
22
vii
viii Contents
Chapter
2
multiple inheritance
2.1
Using Multiple Inheritance
2.1.1
The All-in-One Approach
2.1.2
Containment Considered
2.1.3
The Single-Inheritance Approach
2.1.4
Multiple Inheritance to the Rescue
2.2
Multiple Inheritance Problems
2.2.1
Ambiguity
2.2.2
Topography
2.2.3
Program Architectures
2.3
Polymorphism
2.4
When to Use Multiple Inheritance and When to Avoid It
2.5
Multiple Inheritance Implementation (Advanced)
2.6
Cost Analysis (Advanced)
2.6.1
Casting
2.6.2
Virtual Functions of the Second Parent Class
2.7
Conclusion
Suggested Reading
Chapter
з
Constness, References, and a Few loose Ends
3.1
Constness
3.1.1
Concept
3.1.2
Pointers and const
3.1.3
Functions and const
3.1.4
Classes and const
3.1.5
mutable: const but Not const
3.1.6
const Advice
3.2
References
3.2.1
References vs. Pointers
3.2.2
References and Functions
3.2.3
Advantages of References
3.2.4
When to Use References
25
25
26
26
28
29
30
31
31
34
35
36
37
39
39
41
41
42
43
44
44
45
45
48
50
51
51
52
53
54
56
Contents
їх
3.3 Casting
3.3.1
The Need for
Casting
3.3.2
C+4-Style
Casting
3.4
Conclusion
Suggested Reading
Chapter
4
Templates
4.1
The Search for Generic Code
4.1.1
First Solution: List Built into the Class
4.1.2
Second Solution: Using Macros
4.1.3
Third Solution: Inheritance
4.1.4
Fourth Solution: Container List of Void Pointers
4.2
Templates
4.2.1
Class Templates
4.2.2
Function Templates
4.2.3
List Example Revisited: Template Solution
4.3
Drawbacks
4.3.1
Complexity
4.3.2
Dependencies
4.3.3
Code Bloat
4.3.4
Compiler Support
4.4
When to Use Templates
4.5
Template Specialization (Advanced)
4.5.1
Full Template Specialization
4.5.2
Partial Template Specialization
4.6
Conclusion
Suggested Reading
Chapter
5
Exception Handling
5.1
Dealing with Errors
5.1.1
Ignore Them!
5.1.2
Use Error Codes
57
57
58
61
61
63
63
64
65
66
67
69
69
71
72
74
74
74
74
75
75
76
77
78
78
79
81
81
82
82
χ
Contents
5.1.3
Blow Up (with Asserts)
84
5.1.4
Use set imp
()
and long
j
mp()
84
5.1.5
Use
C++
Exceptions
84
5.2
Using Exceptions
86
5.2.1
Overview
86
5.2.2
Throwing Exceptions
87
5.2.3
Catching Exceptions
89
5.3
Exception-Safe Code
93
5.3.1
Resource Acquisition
93
5.3.2
Constructors
97
5.3.3
Destructors
99
5.4
Cost Analysis
99
5.5
When to Use Exceptions
100
5.6
Conclusion
101
Suggested Reading
102
Partii
tapping the power of
c++
юз
Chapter
6
performance
Ю5
6.1
Performance and Optimizations
106
6.1.1
During Program Development
108
6.1.2
At the End of Development
108
6.2
Function Types
109
6.2.1
Global Funrtions
109
6.2.2
Class Static Funrtions
110
6.2.3
Nonvirtual Member Funrtions
111
6.2.4
Virtual Funrtions Under Single Inheritance
Ш
6.2.5
Virtual Funrtions Under Multiple Inheritance
113
6.3
Inlining
114
6.3.1
The Need for Inlining
114
6.3.2
Inline Funrtions
115
6.3.3
When to Use Inline
117
Contents xi
6.4
More Function Overhead
Π
8
6.4.1
Function Parameters
118
6.4.2
Return Values
120
6.4.3
Empty Functions
123
6.5
Avoiding Copies
123
6.5.1
Arguments
124
6.5.2
Temporaries
124
6.5.3
Being Explicit
125
6.5.4
Disallowing Copies
126
6.5.5
Allowing Copies
127
6.5.6
Operator Overloading
128
6.6
Constructors and Destructors
129
6.7
Data Caches and Memory Alignment (Advanced)
134
6.7.1
Memory Access Patterns
135
6.7.2
Objed
Size
136
6.7.3
Member Variable Location
137
6.7.4
Memory Alignment
137
6.8
Conclusion
138
Suggested Reading
139
CHAPTER? MEMORY ALLOCATION
141
7.1
The Stack
142
7.2
The Heap
143
7.2.1
Allocation Performance
143
7.2.2
Memory Fragmentation
144
7.2.3
Other Problems
146
7.3
Static Allocation
148
7.3.1
Advantages and Disadvantages of Static Allocation
148
7.3.2
When to Use Static Allocation
150
7.4
Dynamic Allocation
150
7.4.1
Call Chain
150
7.4.2
Global Operators New and Delete
151
xii
Contents
Chapters
Chapters
7.4.3
Class-Specific Operators New and Delete
154
7.5
Custom Memory Manager
156
7.5.1
Error Checking
156
7.5.2
Walking the Heap
159
7.5.3
Bookmarks and Leaks
160
7.5.4
Hierarchical Heaps
161
7.5.5
Other Types of Allocations
162
7.5.6
Memory System Overhead
163
7.6
Memory Pools
165
7.6.1
Implementation
166
7.6.2
Hooking It Up
169
7.6.3
Generic Pools
170
7.7
In Case of Emergency...
171
7.8
Conclusion
172
Suggested Reading
173
C++
Patterns
175
8.1
What Are Patterns?
175
8.2
The Singleton
177
8.2.1
Example: File Manager
177
8.2.2
Singleton Implementation
178
8.3
The
Façade
180
8.3.1
The Under Construction
Façade
183
8.3.2
The
Refactoring
Façade
184
8.4
The Observer
185
8.5
The Visitor
191
8.6
Conclusion
195
Suggested Reading
196
Standard Template Library: Containers
197
9.1
STL Overview
198
9.2
To STL or Not to STL?
199
9.2.1
Code Reuse
200
Contents xiii
9.2.2 Performance 200
9.2.3
Drawbacks
202
9.3
Sequence
Containers 203
9.3.1
Vertor
203
9.3.2
Deque
208
9.3.3
List
210
9.4
Associative Containers
214
9.4.1
Set and Multiset
214
9.4.2
MapandMultimap
218
9.4.3
Hashes
222
9.5
Container Adaptors
226
9.5.1
Stack
227
9.5.2
Queue
227
9.5.3
Priority Queue
228
9.6
Conclusion
230
Suggested Reading
231
chapter
10
standard template library:
Algorithms and Advanced Topics
233
10.1
Function Objects (Functors)
233
10.1.1
Function Pointers
234
10.1.2
Functors
235
10.1.3
Functor Adaptors
236
10.2
Algorithms
237
10.2.1
Nonmutating Algorithms
238
10.2.2
Mutating Algorithms
242
10.2.3
Sorting Algorithms
245
10.2.4
Generalized Numerical Algorithms
246
10.3
Strings
247
10.3.1
No Strings Attached
247
10.3.2
The String Class
248
10.3.3
Performance
251
10.3.4
Memory
252
xiv
Contents
10.3.5 Alternatives
253
10.4
Allocators
(Advanced)
254
10.5
When STL Is Not Enough (Advanced)
257
10.6
Conclusion
259
Suggested Reading
259
:hapter11
BEYOND STL: STRUCTURES AND ALGORITHMS
261
11.1
Case Study: Graphs
261
11.1.1
Struđural
Overview
262
11.1.2
The Bigger Picture
263
11.1.3
On the Subject of Cost
263
11.1.4
Edge Costs and
Gameplay
264
11.2
Graphs in
C++
266
11.3
Putting Our Graphs to Work
267
11.4
Smart Graphs
273
11.4.1
Living on the Edge
274
11.4.2
Upgrading,
C++
Style
276
11.4.3
Pathfinding Implementation
284
11.4.4
A Note About A* (Advanced)
293
11.5
Graphs: Not Just for Pathfinding
295
11.5.1
Ul Path Optimization
297
11.5.2
Missing Return Paths
298
11.5.3
Lost Menu Screens
299
11.6
Conclusion
299
Suggested Reading
300
Part
iii
Special Techniques
301
CHAPTER
12
Abstract Interfaces
303
12.1
Abstract Interfaces
303
12.2
General
C++
Implementation
305
12.3
Abstract Interfaces as a Barrier
307
12.3.1
Headers and Factories
308
17.4?
Rpal-WnrlH
ľWaik
310
Contents
xv
12.4 Abstrart Interfaces
as Class
Chararteristics
12.4.1
Implementations
12.4.2
Query
Interface
12.4.3
Extending the Game
12.5
All That Glitters Is Not...
12.6
Conclusion
Suggested Reading
Chapter
13
Plug-Ins
13.1
The Need for Plug-Ins
13.1.1
Plug-Ins for Other Programs
13.1.2
Plug-Ins for Our Programs
13.2
Plug-In Architecture
13.2.1
ipiugin
13.2.2
Creating Specific Plug-Ins
13.2.3
Dealing with Multiple Types of Plug-Ins
13.2.4
Loading Plug-Ins
13.2.5
Plug-In Manager
13.2.6
Two-Way Communication
13.3
Putting It All Together
13.4
Plug-Ins in the Real World
13.4.1
Using Plug-Ins
13.4.2
Drawbacks
13.4.3
Platforms
13.5
Conclusion
Suggested Reading
Chapter
14 c++
and Scripting
14.1
Why Use a Scripting Language?
14.1.1
The Bad News...
14.1.2
The Good News...
14.2
Architectural Considerations
14.2.1
Engine versus
Gameplay
313
313
316
318
320
321
322
323
323
324
325
326
326
327
328
329
331
334
335
336
336
337
337
338
338
339
339
340
342
345
345
xvi
Contents
14.3
Beyond
Gameplay:
Other Benefits of Integrated Scripting
14.3.1
Working with a Scripting Console
14.3.2
Interactive Debugging
14.3.3
Rapid Prototyping
14.3.4
Automated Testing
14.4
Conclusion
Suggested Reading
Lua
Python
GameMonkey
AngelScript
CHAPTER
15
RUNTIME TYPE INFORMATION
15.1
Working Without RTTI
15.2
Uses and Abuses of RTTI
15.3
Standard
C++
RTTI
15.3.1
The dynamic^ast Operator
15.3.2
The typeid Operator
15.3.3 C++
RTTI Analysis
15.4
Custom RTTI System
15.4.1
The Simplest Solution
15.4.2
Adding Single Inheritance
15.4.3
Adding Multiple Inheritance
15.5
Conclusion
Suggested Reading
Chapter
16
object Creation and Management
16.1
Objed
Creation
16.1.1
When new Is Not Enough
16.1.2
Big Switch
16.2
Object Factories
16.2.1
A Simple Factory
16.2.2
A Distributed Factory
16.2.3
Explicit Creator Registration
350
350
350
353
354
356
357
357
357
358
358
359
360
361
363
363
366
367
369
369
374
377
380
381
383
384
384
385
386
387
388
389
Contents
xvii
16.2.4
Implicit
Creator
Registration
16.2.5
Object Type Identifiers
16.2.6
Using Templates
16.3
Shared Objects
16.3.1
No
Objed
Sharing
16.3.2
Ignore the Problem
16.3.3
Leave It Up to the Owner
16.3.4
Reference Counting
16.3.5
Handles
16.3.6
Smart Pointers
16.4
Conclusion
Suggested Reading
Chapter
17
Object Serialization
17.1
Game Entity Serialization Overview
17.1.1
Entities versus Resources
17.1.2
The Simplest Solution That Does Not Work
17.1.3
What We Need
17.2
Game Entity Serialization Implementation
17.2.1
Streams
17.2.2
Saving
17.2.3
Loading
17.3
Putting It All Together
17.4
Conclusion
Suggested Reading
Chapter
18
Dealing with large Projects
18.1
Logical versus Physical Structure
18.2
Classes and Files
18.3
Header Files
18.3.1
What Goes into a Header File?
18.3.2
Include Guards
18.3.3
Include Directives in .cpp Files
390
392
392
394
395
396
397
397
401
403
407
407
409
410
410
410
411
413
413
416
420
423
424
425
427
428
429
430
430
431
434
xviii
Contents
18.3.4
Include
Diređives
in Header Files
18.3.5
Precompiled Headers
18.3.6
The Pimpl Pattern
18.4
Libraries
18.5
Configurations
18.5.1
Debug Configuration
18.5.2
Release Configuration
18.5.3
Debug-Optimized Configuration
18.6
Conclusion
Suggested Reading
Chapter^ Crash-Proofing Your Game
19.1
Using Asserts
19.1.1
When to Use Asserts
19.1.2
When Not to Use Asserts
19.1.3
Custom Asserts
19.1.4
What to Do in the Final Release
19.1.5
Sample Custom Assert Implementation
19.2
Keeping the Machine Fresh
19.2.1
Memory Leaks
19.2.2
Memory Fragmentation
19.2.3
Clock Drift
19.2.4
Error Accumulation
19.2.5
What to Do?
19.3
Dealing with Bad Data
19.3.1
Assert on Bad Data
19.3.2
Cope with Bad Data
19.3.3
A Compromise
19.4
Conclusion
Suggested Reading
APPENDIX ABOUT THE CD-ROM
INDEX
436
438
441
444
447
447
448
448
449
449
451
452
452
454
455
456
458
459
460
460
460
461
461
462
463
463
465
467
467
469
471
|
any_adam_object | 1 |
author | Dickheiser, Michael 1970- |
author_GND | (DE-588)137237782 |
author_facet | Dickheiser, Michael 1970- |
author_role | aut |
author_sort | Dickheiser, Michael 1970- |
author_variant | m d md |
building | Verbundindex |
bvnumber | BV040277989 |
classification_rvk | ST 324 |
ctrlnum | (OCoLC)802474183 (DE-599)HBZHT015759826 |
discipline | Informatik |
edition | 2. ed. |
format | Book |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>01543nam a2200385 c 4500</leader><controlfield tag="001">BV040277989</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">20120720 </controlfield><controlfield tag="007">t</controlfield><controlfield tag="008">120627s2007 ad|| |||| 00||| eng d</controlfield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9781584504528</subfield><subfield code="c">pbk. with cdrom : alk. paper</subfield><subfield code="9">978-1-58450-452-8</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">1584504528</subfield><subfield code="c">pbk. with cdrom : alk. paper</subfield><subfield code="9">1-58450-452-8</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)802474183</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)HBZHT015759826</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">DE-604</subfield><subfield code="b">ger</subfield><subfield code="e">rakwb</subfield></datafield><datafield tag="041" ind1="0" ind2=" "><subfield code="a">eng</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-703</subfield><subfield code="a">DE-20</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ST 324</subfield><subfield code="0">(DE-625)143660:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Dickheiser, Michael</subfield><subfield code="d">1970-</subfield><subfield code="e">Verfasser</subfield><subfield code="0">(DE-588)137237782</subfield><subfield code="4">aut</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">C++ for game programmers</subfield><subfield code="c">Michael J. Dickheiser</subfield></datafield><datafield tag="250" ind1=" " ind2=" "><subfield code="a">2. ed.</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">Boston, MA</subfield><subfield code="b">Course Technology</subfield><subfield code="c">2007</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">XXIX, 480 S.</subfield><subfield code="b">Ill., graph. Darst.</subfield><subfield code="e">1 CD-ROM (12 cm)</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="b">n</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="b">nc</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="490" ind1="0" ind2=" "><subfield code="a">Game development series</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Computerspiel</subfield><subfield code="0">(DE-588)4010457-6</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">C++</subfield><subfield code="0">(DE-588)4193909-8</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="689" ind1="0" ind2="0"><subfield code="a">C++</subfield><subfield code="0">(DE-588)4193909-8</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2="1"><subfield code="a">Computerspiel</subfield><subfield code="0">(DE-588)4010457-6</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="780" ind1="0" ind2="0"><subfield code="i">1. Auflage</subfield><subfield code="a">Llopis, Noel</subfield><subfield code="t">C++ for game programmers</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="m">Digitalisierung UB Bayreuth</subfield><subfield code="q">application/pdf</subfield><subfield code="u">http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=025133409&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA</subfield><subfield code="3">Inhaltsverzeichnis</subfield></datafield><datafield tag="999" ind1=" " ind2=" "><subfield code="a">oai:aleph.bib-bvb.de:BVB01-025133409</subfield></datafield></record></collection> |
id | DE-604.BV040277989 |
illustrated | Illustrated |
indexdate | 2024-07-10T00:20:36Z |
institution | BVB |
isbn | 9781584504528 1584504528 |
language | English |
oai_aleph_id | oai:aleph.bib-bvb.de:BVB01-025133409 |
oclc_num | 802474183 |
open_access_boolean | |
owner | DE-703 DE-20 |
owner_facet | DE-703 DE-20 |
physical | XXIX, 480 S. Ill., graph. Darst. 1 CD-ROM (12 cm) |
publishDate | 2007 |
publishDateSearch | 2007 |
publishDateSort | 2007 |
publisher | Course Technology |
record_format | marc |
series2 | Game development series |
spelling | Dickheiser, Michael 1970- Verfasser (DE-588)137237782 aut C++ for game programmers Michael J. Dickheiser 2. ed. Boston, MA Course Technology 2007 XXIX, 480 S. Ill., graph. Darst. 1 CD-ROM (12 cm) txt rdacontent n rdamedia nc rdacarrier Game development series Computerspiel (DE-588)4010457-6 gnd rswk-swf C++ (DE-588)4193909-8 gnd rswk-swf C++ (DE-588)4193909-8 s Computerspiel (DE-588)4010457-6 s DE-604 1. Auflage Llopis, Noel C++ for game programmers Digitalisierung UB Bayreuth application/pdf http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=025133409&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA Inhaltsverzeichnis |
spellingShingle | Dickheiser, Michael 1970- C++ for game programmers Computerspiel (DE-588)4010457-6 gnd C++ (DE-588)4193909-8 gnd |
subject_GND | (DE-588)4010457-6 (DE-588)4193909-8 |
title | C++ for game programmers |
title_auth | C++ for game programmers |
title_exact_search | C++ for game programmers |
title_full | C++ for game programmers Michael J. Dickheiser |
title_fullStr | C++ for game programmers Michael J. Dickheiser |
title_full_unstemmed | C++ for game programmers Michael J. Dickheiser |
title_old | Llopis, Noel C++ for game programmers |
title_short | C++ for game programmers |
title_sort | c for game programmers |
topic | Computerspiel (DE-588)4010457-6 gnd C++ (DE-588)4193909-8 gnd |
topic_facet | Computerspiel C++ |
url | http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=025133409&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |
work_keys_str_mv | AT dickheisermichael cforgameprogrammers |