Author: Matt Taylor
Date: 20:34:19 02/28/03
Go up one level in this thread
On February 28, 2003 at 23:09:13, Dann Corbit wrote: >On February 28, 2003 at 10:48:19, Matt Taylor wrote: > >>On February 27, 2003 at 09:55:35, Tom Likens wrote: >> >>>On February 26, 2003 at 17:07:45, Bo Persson wrote: >>> >>>[--snip--] >>> >>> >>>>>I see that I did not include data.h in data.c but it caused me no problem >>>>>with c files >>>> >>>>You have found an actual difference between the languages! >>>> >>>>In C++, const variables are considered local unless declared otherwise. In C, >>>>all global (file level) variables are extern by default. >>>> >>>>Bo Persson >>>>bop2@telia.com >>> >>> >>>No, no- C++ is just a superset of C. There is *absolutely* >>>no differences between them :-) :-) :-) :-) :-) ;-) >>> >>>regards, >>>--tom >> >>Actually there are many subtle differences. Here's an example: >> >>C: >>int *array; >>array = malloc(size); >> >>C++: >>int *array; >>array = malloc(size); // error >>array = (int *) malloc(size); >>array = new int[size]; // preferred >> >>Also, I have a fair amount of code that looks like this: >> >>char *byteptr; >> >>// some stuff >>if (blah) >> x = *((int *) byteptr)++; >>else >> x = (int) *byteptr++; >> >>This does not work in C++. This example actually came from an x86 disassembler I >>wrote where it was extremely convenient to break type rules again & again. The >>only solution I have found in C++ is to use a union with pointers of varying >>type. >> >>You are right that most of C and C++ is the same, but some acceptable C programs >>will not compile as C++ for various reasons. > >I think the smileys are a clue that he knew. <snip> Aye, I am a bit slow sometimes. -Matt
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.