Re: compile or not compile

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Karol,

>...and something must be wrong when arguments are references because when I remove references program compiles fine.

Here's my C++ rule-of-thumb I've used since I started programming in C++:
For POD, ALWAYS pass-by-value and never pass-by-constant-reference.
For UDT, ALWAYS pass-by-constant-reference and never pass-by-value.
UNLESS, you need to modify the item, then pass-by-reference.
UNLESS, the item is optional, then pass-by-pointer (and NULL represents "optional parm not present").


Note: when I say "optional", I'm not necessarily referring to default value parameters.

Also note, pass-by-value can be pass-by-constant-value ... but I rarely do that.

POD is "plain old datatype", such as char, short, int, long, float, double, long double, bool, enum, pointer, function pointer.

UDT is "user defined types", such as classes, structs, unions.

HTH,
--Eljay


[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux