Joseph A. Marrero wrote: > Hi everyone. What is the purpose of the unary and binary > function object templates in the STL (see header file: > functional)? > > All I see are typedefs. What are these typedefs used for > with respect to the algorithms and/or containers? Thanks. > > _________________ > Joseph A. Marrero > http://www.l33tprogrammer.com/
Joseph, Assuming you mean unary_function<> and binary_function<>, they are helper templates for making classes. I'm not really sure how useful the unary_function<> is (then again, I don't use STL components), but binary_function<> is frequently used as a base when creating custom sorting helper classes for use with std::sort(). BTW, your website is somewhat busted on IE6. And, while hunting for a job, mis-spelling 'riveted' (or any other word for that matter) on your front page is probably a bad idea. You should update the front page to reflect the 'Projects' page release date for your 'Threat Level Red' game. ($60,000 is a bit high for an entry-level programmer even for Florida - Salary demands are an instant negative to a potential employer). On your 'Projects' page, drop the 'Failed Projects' section (we ALL have failed projects*) and correct the various spelling and grammar errors on the page. That is, if you plan on having recruiters visit the site as indicated by the front page and your resume. * Even I have a number of "failed" projects. Although, technically none of my projects are failures because they still reside on the back burner of my mind (I've even got some things from the 80's I still plan on finishing). I absolutely hate leaving projects unfinished. One more tip: You should organize your projects such that the "cool" ones come first. The submarine is probably your best work on the page, followed by the raindrop simulation and Breakout clone (not Pong! Pong is that game with two paddles...). However, all three need some work: 1) Not everyone has a RAR extraction tool and even fewer know how to use them. Make the download for the submarine a ZIP file. Also, 'Q' isn't really a natural exit key. Allow people to hit 'ESC' as well. Consider making this into a regular Windows screen saver (self-contained EXE) and slow down the speed of the animation. The sub moves WAY too fast. 2) The raindrop simulation "chunks" (animates, pauses, animates some more, pauses...) on my P4 3Ghz PC w/ ATI Radeon X700 Pro**. Other than that, it looks good. Although the ripples should probably be more pronounced. Consider moving the camera such that you zoom in on "interesting" ripple combinations when you know 3-4 interactions will be taking place (get the camera there in advance so the user can watch the interactions happen up close). 3) Breakout flies by so fast the player can't manage paddle movement. After playing once (and 'dying'), the ball moves incredibly slow on the next game while everything else continues to fly by. Also, the description on the Breakout page is close to useless. Every game developer worth their salt knows how Breakout clones operate. If you have to describe how you did something, I would opt for the "smoke effect" that you use (after you fix the speed problems). Hitting 'ESC' in the middle of the game should take you back to the main menu instead of immediately exiting. All three of those OpenGL-based projects indicate some sort of timing loop was used. Probably runs fine on older hardware but has speed issues on modern equipment. ** I'm a video gamer and my graphics card stinks. But my hardware is more than sufficient to handle Counter-Strike at a reasonable fps. Your resume lists the IDS system first. I don't know how good it is or not, but people tend to be more fascinated and impressed by visual eye-candy no matter how lousy the code behind the scenes actually is. Keep that in mind. The only thing worth mentioning about the IDS system is that it was a _team_ effort. Employers are interested in how good of a team player you were more than the actual description of the system you helped build. Also, drop projects that haven't seen the light of day...until such projects are released, they are vaporware and basically meaningless on a resume. Submit your resume everywhere and don't be afraid to submit for jobs that say "requires 5+ years prior experience". This gets you a better chance of receiving multiple job offers and puts YOU in the position to actually turn down offers. Check your local/area newspaper - employers love people who are local - and some listings only show up in newspapers that you won't find on various job websites. Also, be prepared to supply employers with an "extended resume" that describes your projects to date in greater detail. A lot of HR departments are supposedly changing their hiring practices and the 1-page resume is no longer the standard. Yikes! Didn't mean to talk for this long. Take it as constructive criticism on how to get a job. Others on this list will probably also benefit from my ramblings. (That's what you get for leaving an interesting website address in your sig.) -- Thomas Hruska CubicleSoft President Ph: 517-803-4197 *NEW* MyTaskFocus 1.1 Get on task. Stay on task. http://www.CubicleSoft.com/MyTaskFocus/
