Click here to Skip to main content
15,860,844 members

The Weird and The Wonderful

   

The Weird and The Wonderful forum is a place to post Coding Horrors, Worst Practices, and the occasional flash of brilliance.

We all come across code that simply boggles the mind. Lazy kludges, embarrassing mistakes, horrid workarounds and developers just not quite getting it. And then somedays we come across - or write - the truly sublime.

Post your Best, your worst, and your most interesting. But please - no programming questions . This forum is purely for amusement and discussions on code snippets. All actual programming questions will be removed.

 
GeneralRe: Fun with pointers in C++ Pin
Luiz Monad24-Jul-15 5:34
professionalLuiz Monad24-Jul-15 5:34 
GeneralRe: Fun with pointers in C++ Pin
Mario Vernari26-Jun-15 2:09
Mario Vernari26-Jun-15 2:09 
GeneralRe: Fun with pointers in C++ Pin
firegryphon29-Jun-15 9:15
firegryphon29-Jun-15 9:15 
GeneralRe: Fun with pointers in C++ Pin
KP Lee1-Jul-15 15:44
KP Lee1-Jul-15 15:44 
GeneralRe: Fun with pointers in C++ Pin
KP Lee1-Jul-15 15:47
KP Lee1-Jul-15 15:47 
GeneralRe: Fun with pointers in C++ Pin
DEmberton26-Jun-15 3:30
DEmberton26-Jun-15 3:30 
GeneralRe: Fun with pointers in C++ Pin
C3D126-Jun-15 3:50
professionalC3D126-Jun-15 3:50 
GeneralRe: Fun with pointers in C++ Pin
James Curran26-Jun-15 5:22
James Curran26-Jun-15 5:22 
My only problem with that is that GetA and GetB are being called twice each. There is, of course, no guarantee that the second call to either will return the same value as the first. Further, there is not guarantee that either isn't an expensive operation.

I would probably go for the much clearer:
A* pa = GetA();
B* pb = GetB();
if (pa != NULL && pb!= NULL)
    *pa = *pb;

Unfortunately, this method would always call GetB once, while the original would never call GetB if the first call to GetA returned NULL, so determining which is more efficient depends of how expensive the call to GetB is, and the likelihood than GetA returns null.

Which would give us this:
A* pa = GetA();
if (pa != NULL)
{
    B* pb = GetB();
    if (pb != NULL)
        *pa = *pb;
}

Which, despite being the most keystrokes, would be the best method in terms of speed efficiency, memory efficiency (fewest assembly instructions), and code clarity.

In other words, just freakin' learn to type.
Truth,

James


modified 26-Jun-15 11:48am.

GeneralRe: Fun with pointers in C++ Pin
MarkTJohnson26-Jun-15 5:42
professionalMarkTJohnson26-Jun-15 5:42 
GeneralRe: Fun with pointers in C++ Pin
firegryphon29-Jun-15 10:02
firegryphon29-Jun-15 10:02 
GeneralRe: Fun with pointers in C++ Pin
BotReject29-Jun-15 22:58
BotReject29-Jun-15 22:58 
GeneralRe: Fun with pointers in C++ Pin
TheGreatAndPowerfulOz30-Jun-15 9:12
TheGreatAndPowerfulOz30-Jun-15 9:12 
GeneralRe: Fun with pointers in C++ Pin
James Curran30-Jun-15 10:16
James Curran30-Jun-15 10:16 
GeneralRe: Fun with pointers in C++ Pin
TheGreatAndPowerfulOz30-Jun-15 10:35
TheGreatAndPowerfulOz30-Jun-15 10:35 
GeneralRe: Fun with pointers in C++ Pin
James Curran30-Jun-15 11:24
James Curran30-Jun-15 11:24 
GeneralRe: Fun with pointers in C++ Pin
TheGreatAndPowerfulOz30-Jun-15 11:38
TheGreatAndPowerfulOz30-Jun-15 11:38 
GeneralRe: Fun with pointers in C++ Pin
Al Chak29-Jun-15 23:05
Al Chak29-Jun-15 23:05 
GeneralRe: Fun with pointers in C++ Pin
TheGreatAndPowerfulOz30-Jun-15 9:11
TheGreatAndPowerfulOz30-Jun-15 9:11 
GeneralSwitch boolean.... (reinventing if, unnecessarily) Pin
Rob Grainger25-Jun-15 5:25
Rob Grainger25-Jun-15 5:25 
GeneralRe: Switch boolean.... (reinventing if, unnecessarily) Pin
Jeremy Falcon25-Jun-15 5:42
professionalJeremy Falcon25-Jun-15 5:42 
GeneralRe: Switch boolean.... (reinventing if, unnecessarily) Pin
Freak3025-Jun-15 21:32
Freak3025-Jun-15 21:32 
GeneralRe: Switch boolean.... (reinventing if, unnecessarily) Pin
Jeremy Falcon26-Jun-15 3:23
professionalJeremy Falcon26-Jun-15 3:23 
GeneralRe: Switch boolean.... (reinventing if, unnecessarily) Pin
Bruce Patin26-Jun-15 6:16
Bruce Patin26-Jun-15 6:16 
GeneralRe: Switch boolean.... (reinventing if, unnecessarily) Pin
jibalt26-Jun-15 9:53
jibalt26-Jun-15 9:53 
GeneralRe: Switch boolean.... (reinventing if, unnecessarily) Pin
TheGreatAndPowerfulOz30-Jun-15 9:15
TheGreatAndPowerfulOz30-Jun-15 9:15 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.