My knowledge of c++ is limited to basic syntax used in basic programming assignment while I have some years of software development experience (particularly web application) using java. I have not created any thing big in c++ ever. Now coming back to c++ at present, I am confused how the c++ software development works. I mean in java almost everything ranging from regular expression to servlet or socket programming etc is well established and standardized library (such as jodatime, ireport, poi, xalan, etc). But I am not sure whether there are similar standard libraries for java or I have to reinvent everything. There might be some source code available in websites like codeguru but I am not sure whether should I use them because as they are not defacto standard their reliability is always dubious.

PS: Why do ANSI or whoever in charge of developing give some the name of reference implementation like sun (even if they dont develop stuffs) gives the name of reference implementation, for instance tomcat is the reference implementation for servlet engine?


c++ does have standard libraries and a whole set of standard header files. There are at least a hundred or so of them. Look in your c++ compiler's installation directory and you will find the libraries stored in the lib directory and header files in the include directory. The directory names may vary from one compiler to another, but that's the general idea followed by most, if not all, c++ compilers on the MS-Windows operating system. The file structure is somewhat different on *nix.

You will want to invest some $$$ in a good c++ book that covers most, if not all those standard headers and libraries. See the Read Me thread at the top of this c++ forum for discussion about books.

You can find documentation for most of the using google, assuming you know the name of the file you want. For example: in the google edit box type c++ fstream and google will provide links to various sites that describe fstream class.

I was looking for great APIs for example say iReport to generate excel or pdf on the fly. Just drop the jar in the class path and call the method name. I understand that there are libraries such stl library and gnu c library for doing simple stuff like getting system time or doing quick sort. Let me guess that is why people use Visual C++ or Visual C++.net framework to avail themselves of off-the-shelve pieces of code and I have to resort to Visual C++ also.

Also what is the point of reinventing the wheel. In large scale software development is not it appreciable that you make use of others code? You implement a very good implementation of splay tree and then I implement a very good implementation of fibonacci heap and then we share; instead of you implement both of them and I implement both of them. (And it is not even hardware/operating system specific staff or anything). If everybody is doing everything then you imagine how entertaining software development would be.

PS: I am not comparing C++ and java. I am just struggling to come back to C++. I am trying to figure out the c++ counterpart of the way I used to do stuffs in java.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.