On 04/25/2013 10:48 PM, Chris Angelico wrote:
<SNIP>
Also, this protection helps only when the "constant"
is actually something the compiler knows is a constant - it doesn't
work in a search function, for instance:
char *strchr(char *string, char findme) {
while (*string) {
if (*string==findme) return string;
++string;
}
return 0;
}
Sure, but if I were coding in C again, I'd have made that function signature
char *strchr(char *string, const char findme) {
or maybe
char *strchr(const char *string, const char findme) {
If you switch the order of operands in that, the compiler won't help
you.
Yes, it would.
Plus it "reads" wrong. So the convention is still
variable==constant.
In my case, after having it drilled in that you're "supposed" to put the
constant first, I realized that I never had any problem with using =,
because as soon as I questioned the order, I just double-checked that I
was using ==. At that point, there was no longer any benefit to making
the order backwards.
--
DaveA
--
http://mail.python.org/mailman/listinfo/python-list