Hello Jarrett,
On Thu, Jan 1, 2009 at 5:55 PM, Mike James <f...@bar.com> wrote:
I have a function that uses 2 array strings defined similar to
this...
const char[] array1 = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; char[] array2 =
"ABCDEFGHIJKLMNOPQRSTUVWXYZ";
If I make a change to a char in array1 it also changes the same in
array2. But if I define the arrays as follows...
You'd get a runtime error if you were using Linux. For some reason
string literals are not read-only, or Windows doesn't respect it, or
something like that. Modifying either array1 or array2 is technically
illegal. So, uh, don't do it.
Yes, that's one advantage to Linux. String literals aren't read-only on
Win32. This is unfortunate because it means that these sort of bugs are
significantly harder to diagnose on Windows than on Linux. I remember that
this was a bug in a early DUI version (now GtkD). It's was pretty easy to
spot on Linux because of the runtime error.
-JJR