Author: Eric Oldre
Date: 13:44:30 06/10/04
Go up one level in this thread
On June 10, 2004 at 16:33:03, Dann Corbit wrote: >There are two reasons you might want to use pointers: > >1. You don't know how big something will be before hand. E.g. a hash table. > >2. You want to pass it as quickly as possible and the pointer is smaller than >the object. For instance, if I have a 500 byte object and a pointer is 4 bytes, >then passing a pointer will push and copy 4 bytes {the address of the object} >instead of 500 bytes {the object itself}. > >The functionality of things does not hinge on whether you have the object or a >pointer to it. Thanks for the fast response Dann. I do understand what the reasons to use pointers in a program in general are (somewhat). But what I'm more interested in is the experiece people have had passing pointers to a board in a chess program specifically. And the tradeoffs they may have considers when choosing to either of the ideas described below. //example, not passing a pointer, using global board; extern chessboard board; int search(int depth, int alpha, int beta); //searches from current position of global board. void move_make(chessmove move); //applies move to global board. //example, passing a pointer to a board int search(chessboard *board, int depth, int alpha, int beta); void move_make(chessboard *board, chessmove move); //applies move to board at address of *board (ps. in the crafty implentation, i think he's not actually passing a pointer to a board. but to some other stucture that holds a board among other things)
This page took 0 seconds to execute
Last modified: Thu, 15 Apr 21 08:11:13 -0700
Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.