conorjh

Just another WordPress.com site

Archive for the tag “c++”

Vectors and constructors with rand()

So here is a silly mistake I just made; say Foo is a class whose constructor includes setting a variable randomly and you want a population of Foos, then

vector foos(n,foo);

isn’t what you want, this only calls the Foo constructor once and then makes n copies of the result, so the random value is the same for each instance! You need

vector foos;
for(int i=0;i<n;++)
{
Foo foo;
foos.push_back(foo);
}

Declaring two pointers.

It’s

Foo * bar1, * bar2;

note the extra star. Makes sense when you think about it.

Dev-C++ is back!

I am about to start teaching C++ again so I need an IDE to recommend to students using windows, I was pleased to see Dev-C++ has been updated again at last!

http://sourceforge.net/projects/orwelldevcpp/

gcc optimizations.

Today I spent trying to compare how fast different algorithms for calculating the van Rossum metric run; I ran sample code compiled using the -O3 flag in gcc. I have never known how these optimization settings work, but today I was profiling the code using gprof and was amazed to see how in-line the code is when optimized, the length of the gprof output is determined in part by how many function calls there are, the output is 163 lines with -O3 and 1042 without.

Post Navigation