جزییات کتاب
Key FeaturesGet acquainted with the latest features in C++ 17Take advantage of the myriad of features and possibilities that C++ offers to build real-world applicationsWrite clear and expressive code in C++, and get insights into how to keep your code error-freeBook DescriptionC++ has come a long way and has now been adopted in several contexts. Its key strengths are its software infrastructure and resource-constrained applications. The C++ 17 release will change the way developers write code, and this book will help you master your developing skills with C++. With real-world, practical examples explaining each concept, the book will begin by introducing you to the latest features in C++ 17. It encourages clean code practices in C++ in general, and demonstrates the GUI app-development options in C++. You'll get tips on avoiding memory leaks using smart-pointers. Next, you'll see how multi-threaded programming can help you achieve concurrency in your applications. Moving on, you'll get an in-depth understanding of the C++ Standard Template Library. We show you the concepts of implementing TDD and BDD in your C++ programs, and explore template-based generic programming, giving you the expertise to build powerful applications. Finally, we'll round up with debugging techniques and best practices.By the end of the book, you'll have an in-depth understanding of the language and its various facets. What you will learnWrite modular C++ applications in terms of the existing and newly introduced featuresIdentify code-smells, clean up, and refactor legacy C++ applicationsLeverage the possibilities provided by Cucumber and Google Test/Mock to automate test casesTest frameworks with C++Get acquainted with the new C++17 featuresDevelop GUI applications in C++Build portable cross-platform applications using standard C++ featuresAbout the AuthorJeganathan Swaminathan, Jegan for short, is a freelance software consultant and founder of TekTutor, with over 17 years of IT industry experience. In the past, he has worked for AMD, Oracle, Siemens, Genisys Software, Global Edge Software Ltd, and PSI Data Systems. He has consulted for Samsung WTD (South Korea) and National Semiconductor (Bengaluru). He now works as a freelance external consultant for Amdocs (India). He works as freelance software consultant and freelance corporate trainer. He holds CSM, CSPO, CSD, and CSP certifications from Scrum Alliance. He is a polyglot software professional and his areas of interest include a wide range of C++, C#, Python, Ruby, AngularJS, Node.js, Kubernetes, Ansible, Puppet, Chef, and Java technologies. He is well known for JUnit, Mockito, PowerMock, gtest, gmock, CppUnit, Cucumber, SpecFlow, Qt, QML, POSIX – Pthreads, TDD, BDD, ATDD, NoSQL databases (MongoDB and Cassandra), Apache Spark, Apache Kafka, Apache Camel, Dockers, Continuous Integration (CI), Continuous Delivery (CD), Maven, Git, cloud computing, and DevOps. You can reach him for any C++, Java, Qt, QML, TDD, BDD, and DevOps-related training or consulting assignments. Jegan is a regular speaker at various technical conferences.Table of ContentsC++17 Features Standard Template LibraryTemplate ProgrammingSmart Pointers Developing GUI applications in C++Multithreaded Programming & IPC in C++ Test-driven Development Behavior Driven DevelopmentDebugging Techniques Code Smells & Clean Code Practices