![]() |
|
Spaces home LightSleeperProfileFriendsBlogMore ![]() | ![]() |
|
LightSleeperGood times!
September 02 Here Be DragonsAt Gamefest in July I gave a talk entitled "Here Be Dragons: C++ Undefined Behavior." As expected, the presentation drew many raised eyebrows and some strong reactions, which was exactly the point. Undefined behavior in C++ is bad news, and should be avoided at all costs. However, it's surprising how many instances of undefined behavior can crop up in average C++ code. You can download the PowerPoint presentation and the audio transcript here, and listen to it at your leisure.
In fact, you can download most of the presentations given at Gamefest this year. The full list is available at http://xnagamefest.com/presentations.htm. Enjoy! August 28 C++0x: The Dawning of a New StandardThe DevX site has some great articles about the impending update to the C++ Standard, likely to issue in draft form later this year. From a game developer standpoint, the feature that is most exciting is rvalue references, which has the promise to change what today are copy operations into "perfect forwarding" operations. This will drastically improve the speed of STL containers, for instance. You can read what Bjarne has to say about about rvalue references here. July 17 Gamefest 2008 PreviewGamefest 2008 (Seattle edition) is only a few days away: July 22-23. Gamefest comes to London on August 6th, and to Tokyo on September 4th.
Expect some exciting announcements from the keynote on Tuesday morning, July 22nd.
Some new/enhanced things this year:
Hope to see you there! July 10 My Favorite C++ FeatureWhat's your favorite C++ feature? There are many to choose from. Encapsulation and polymorphism. Library features like iterators and algorithms. Templates and generic programming.
My favorite feature: destructors.
Destructors and C++ go together like peanut butter and jelly. I do my best work in destructors. So does much of the standard C++ library. Think about it for a moment. Our friend stl::vector would be a very poor container without a destructor. And tr1::shared_ptr would not be much use at all.
When I review code, I often find that the addition of a class or two with the right destructors can turn unreadable code into sublime code.
Here's food for thought: the proper use of destructors and owned pointers (using shared_ptr or something similar) can eliminate resource leaks completely. A worthy goal indeed.
June 12 Fine GemsAn exciting new package arrived on my doorstep this week: a copy of Best of Game Programming Gems, edited by my friend Mark DeLoura. I've contributed many gems to this series over the years, and I edited the networking and multiplayer section in Game Programming Gems 4. The new Best Of volume includes four of my gems. Mark did a good job on choosing the best ones:
There are dozens of other great gems covering math, physics, AI, graphics, networking and audio. Check it out!
|
|||||||||||||||||
|
|