Written by students who passed Immediately available after payment Read online or as PDF Wrong document? Swap it for free 4.6 TrustPilot
logo-home
Document preview thumbnail
Preview 4 out of 68 pages
Exam (elaborations)

Exam (elaborations) TEST BANK FOR Beginning C++ Through Game Programming 2nd Edition By Michael Dawson (Instructor Solution Manual)

Document preview thumbnail
Preview 4 out of 68 pages

1. How does having a widely adopted C++ standard help game programmers? Solution: Having a widely adopted standard helps game programmers in several ways. First, it helps to ensure consistency among compilers—this means that the same program, written to the standard, should compile successfully across multiple compilers that implement the standard. Second, the standard makes it easier to write cross-platform code—code written to the standard should compile and work correctly across different operating systems (again, given compilers that faithfully implement the standard). Third, it helps ensure that multiple programmers can work more seamlessly together—if both are writing to the standard their code should have fewer conflicts. 2. What are the advantages and disadvantages of employing the using directive? Solution: The major advantage of a employing the using directive is that it saves typing. If a programmer puts using namespace std; in his program, he saves having to prefix every element in the namespace std with std::. One could also argue that removing all of the std:: references from a program makes it less cluttered and easier to read. A disadvantage of employing a using directive is that it may not be clear where different objects and functions originate—what namespace they‘re from. Another disadvantage with employing a using directive is that you run the risk of name conflicts. For example, if you employed the using directive for two namespaces that had elements with the same name, there would be a name conflict. This, of course, is the very thing that namespaces were created to prevent. 3. Why might you define a new name for an existing type? Solution: You might define a new name for an existing type if you simply wanted a shorter name for a type that you use often in a program. For example, you might do something like: typedef unsigned short int ushort; so that you can use the concise ushort instead of the much longer unsigned short int. But you could also argue that the name a programmer creates for an existing type might be clearer than the syntax for the existing type. For example, ushort might scan better than the longer unsigned short int. 4. Why are there two versions of the increment operator? What‘s the difference between them? Solution: Both versions of the increment operator increment a variable, but there‘s a subtle and important difference in the way the two operators work. The prefix increment operator is placed before the variable to be incremented, as in ++score, while the postfix increment operator is placed after the variable to be incremented, as in score++. The prefix increment operator increments a variable before the evaluation of a larger expression involving the variable while the postfix increment operator increments a variable after the evaluation of a larger expression involving the variable. 5. How can you use constants to improve your code? Solution: Constants can provide two important benefits. First, they can make programs clearer. MAX_HEALTH more clearly conveys the intention of a value than some literal, like say 100. Second, constants make changes easier. If you want to change the value of a constant, you only need to make a change in one place: where it was defined. If you used the same literal value throughout a program, you‘d have to change that literal everywhere (while making sure not to change the literal value where it‘s not related to the constant value). Exercises 1. Create a list of six legal variable names -- three good and three bad choices. Explain why each name falls into the good or bad category. Solution: Responses will vary, but the following is a set of possible answers: Good Names health A clear, short name numEnemies Clear that variable represents a number; descriptive isGameOver Clear that variable represents a bool Bad Names HeAlTh While it‘s legal to used a mixed-case name, it‘s unconventional and distracting TotalNumberofCurrentEnemies While it may be clear, the name is cumbersome; there must be a shorter, yet-still-clear name igo Short but not clear; a little more typing may be worthwhile for the sake of clarity


Document information

Uploaded on
November 12, 2021
Number of pages
68
Written in
2021/2022
Type
Exam (elaborations)
Contains
Unknown
$20.99

Wrong document? Swap it for free Within 14 days of purchase and before downloading, you can choose a different document. You can simply spend the amount again.
Written by students who passed
Immediately available after payment
Read online or as PDF

Seller avatar
Reputation scores are based on the amount of documents a seller has sold for a fee and the reviews they have received for those documents. There are three levels: Bronze, Silver and Gold. The better the reputation, the more your can rely on the quality of the sellers work.
GradeMaster1
3.5
(18)
Sold
87
Followers
79
Items
1022
Last sold
3 months ago


Why students choose Stuvia

Created by fellow students, verified by reviews

Quality you can trust: written by students who passed their tests and reviewed by others who've used these notes.

Didn't get what you expected? Choose another document

No worries! You can instantly pick a different document that better fits what you're looking for.

Pay as you like, start learning right away

No subscription, no commitments. Pay the way you're used to via credit card and download your PDF document instantly.

Student with book image

“Bought, downloaded, and aced it. It really can be that simple.”

Alisha Student

Working on your references?

Create accurate citations in APA, MLA and Harvard with our free citation generator.

Working on your references?

Frequently asked questions

Whoops! We can’t load your doc right now. Try again or contact support.