lkml.org 
[lkml]   [2005]   [Nov]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: typedefs and structs
From
On Mon, Nov 07, 2005 at 08:11:13PM -0500, Steven Rostedt was heard to remark:
> On Mon, 2005-11-07 at 14:41 -0600, linas wrote:
>
> don't use typedef to get rid of "struct".
>
> This was for the simple reason, too many developers were passing
> structures by value instead of by reference, just because they were
> using a type that they didn't realize was a structure.

That's a rather bizarre mistake to make, since, in order to
access a values in such a beast, you have to use a dot . instead
of an arrow -> and so it hits ou in the face that you passed a value
instead of a reference.

----
Off-topic: There's actually a neat little trick in C++ that can
help avoid accidentally passing null pointers. One can declare
function declarations as:

int func (sturct blah &v) {
v.a ++;
return v.b;
}

The ampersand says "pass argument by reference (so as to get arg passing
efficiency) but force coder to write code as if they were passing by value"
As a result, it gets difficult to pass null pointers (for reasons
similar to the difficulty of passing null pointers in Java (and yes,
I loathe Java, sorry to subject you to that)) Anyway, that's a C++ trick
only; I wish it was in C so I could experiment more and find out if I
like it or hate it.

--linas
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-11-09 00:26    [W:0.514 / U:0.992 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site