I am a C ++ developer using VS 2012 and VS 2010 to develop AAA titles. I read that I do not use STL and other materials presented in the standard headers that come with VS. I read most of the material on sites based on game programming, and some from people well-known in the industry. I have seen cases when they do not even use a vector, list, map, and others, do not even use utility functions and algorithms. In such cases, they write those containers and things that have almost the same interface and so much debugging time and runtime spent on such huge code.
I have two questions:
1: Is C ++ implementation implemented with platform-optimized platform-optimized platform? Is it not the use of some internal functions that people on the client side do not know and do not provide their own implementation that will really be slower in basic container operations, such as insert, delete, search, swap, copy? Suppose we supply our own proprietary allocators for faster memory management for each container used. In addition, they take care of fragmentation, alignment, etc. Why develop custom containers with almost the same interface, why not spend this time creating dispensers and other things that could really help?
2: There are times when we include many, many unnecessary things through standard headers in a huge code base. It is unnecessary because we needed only something or even from such huge headings, including other huge headings and so on. Now, I know that templates are not created if they are not used, the same goes for the member functions inside them and blah blah. Since these are precompiled headers, we can safely assume that there is no compilation time for this unnecessary material. My question is, is there a hidden effect of such inclusions on the size of the code (executable file), which grows with the huge growth of the code base? In my opinion, it should not be, but I want to know that I'm not mistaken, just in case.
thank