Re: GHashTable and const
- From: Alberto Mardegan <mardy users sourceforge net>
- To: gtk-devel-list gnome org
- Subject: Re: GHashTable and const
- Date: Fri, 04 Jul 2008 07:38:31 +0300
ext Brian J. Tarricone wrote:
Now, that's for C. For C++ passing a const pointer to a function
expecting a non-const pointer actually a hard *error*[1]. So the API
couldn't be changed in this way without likely breaking any C++
application that uses these glib data structures.
Yes, but this is not our case: by introducing const in some of the API
parameters we don't restrict their usage: you can always pass them a
non-const variable in C++ too, right?
Personally, I mainly see it as a hint to the programmer so I can tell at
a glance that the function doesn't modify the parameter (const) or may
modify the parameter (non-const). I'd agree that any speed benefits are
probably very small (if nonexistent), so the burden would be on someone
to benchmark to prove otherwise. If the API were being designed from
scratch, I'd say sure, use const as a semantic identifier. But at this
point it's just too late to do it without breaking C++ programs that use
glib.
I might be ignorant on C++, but I don't see why this would break
anything. I'm not saying that g_hash_table_new() must return a const
GHashTable, but I'd like to be able to pass a const GHashTable to a
function like g_hash_table_size() without warnings or casts.
Ciao,
Alberto
--
http://www.mardy.it <-- Geek in un lingua international!
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]