464 karma · joined June 12, 2009
It is made by Cern and based on Clang
The C++ FAQ is really helpful but doesn't seem to be updated to C++11 http://www.parashift.com/c++-faq/
Fortunately you can refer to Stroustrup's FAQ about C++11 http://www.stroustrup.com/C++11FAQ.html
For reference (like libc manpage, basic usage, which header to include): http://en.cppreference.com/
Clang/LLVM is much more modular, library oriented.(which is why the Google engineer wanted to switch to it). You can just link to the needed front-end and do the static analysis without generating the LLVM bytecode.
So yes, you could install a static-analyzer without the whole compiler.
'.' is still used for object lookup which is dynamic.
Unfortunately, this is not true for UK as UK is not part of Shengen. I think most(but not all) EU citizen can settle in UK and UK citizen settle in EU countries, but this is due to bilateral treaty not European one. (http://en.wikipedia.org/wiki/Schengen_Area)
PDF document is a problem with big companies portal that only want word document. I tried a few doc converter but they are not Free (as in beer and Freedom) and the result is of course really inferior. Nowadays, I would try html conversion as I think the result can be quite good and readable by most people (even without pdf reader).
Also, always have a hard copy of your CV for the interview. Once, the corporate website of a company I applied accepted pdf files, but butchered them via pdf2txt or something like that. Having the right layout to show them saved the day.
In C++, if you declare the object on the stack, the destructor will be called when the scope is closed. Which is very handy for e.g. lock.
The thing is, garbage collection could be use together with scope lifetime (aka RAII) just let the programmer choose which is best/more convenient for him given his resources.
The author describe 3 month of life there.
I agree with your opinion about the STL it is indeed very well thought-out and very efficient. It is a shame that concept did not make it into C++0x[1] as it could had help STL usage by preventing the cryptic errors[2]
[1] For very good reason, I understood.
[2] STLFilt can help though http://www.bdsoft.com/tools/stlfilt.html
FOO.hxx:
TYPE FOO_TEMPLATE () {
TYPE foo;
/*...*/
return foo;
}Foo.h:
#DEFINE FOO_TEMPLATE foo_int
#DEFINE TYPE int
#include "Foo.hxx"
#DEFINE FOO_TEMPLATE foo_float
#DEFINE TYPE float
#include "Foo.hxx"
It's a kind of weird and ugly macro trick, bug it can be useful in C when one's need polymorphism and performance (and cannot use C++ at all, which is a far better solution).
[Edit:] I realize now it's not polymorphism like said in the article, because the caller had to tell explicitly which foo_xxx to call. But it did provide "polymorphic" code in Foo.hxx (so only one implementation, no repetition). That said, a cast is also explicit.