Advanced Metaprogramming in Classic C++ by Davide Di Gennaro (PDF)

17

 

Ebook Info

  • Published: 2015
  • Number of pages: 1462 pages
  • Format: PDF
  • File Size: 2.82 MB
  • Authors: Davide Di Gennaro

Description

Advanced Metaprogramming in Classic C++ aims to be both an introduction and a reference to C++ template metaprogramming (TMP); TMP is presented in the book as a set of techniques that will bring a new style in C++ and make code exceptionally clear and efficient. The book deals with language aspects, design patterns, examples and applications (seen as case studies). Special emphasis is put on small reusable techniques that will improve the quality of daily work. What makes the book exceptional is the level of understanding of the concepts involved imparted by the author. This is not just a rote overview of metaprogramming. You will truly understand difficult topics like static assertions, how to write metafunctions, overload resolution, lambda expressions, and many others. More than that, you will work through them with practical examples guided by the author’s frank explanations. This book requires you to think and to learn and to understand the language so that you can program at a higher level.

User’s Reviews

Reviews from Amazon users which were colected at the time this book was published on the website:

⭐Overall, I like this book.Ultimately it has changed my mind in believing that meta-programming has no place in production development. I had read C++ Templates, Modern C++ Design, and I also looked into Boost MPL. The pieces didn’t quite click for me with the resources I referenced before I found this book.I read through the first few chapters intrigued by the techniques, but still did not see where to apply the concepts.When I found a problem that I thought could be solved effectively with meta-programming, I found myself returning primarily to this book. The other template resources that I mentioned are great references. This book seemed to provide the content for me to make the leap from learning about meta-programming, to applying meta-programming into robust production solutions.Book Layout/Typesetting:At first I found the format of the book a bit odd and cumbersome like the reviewers that gave low scores. However, I quickly got passed that once I became familiar with how the book is organized.Advanced:This is a complex subject. I would not assume that just because you know C++ and how to use STL that this book will make much sense to you. I had no context for much of the content in the book until I set out to solve a problem and kept reading over the different techniques until I found something that I thought might work.Meta-programming in C++ forces you to approach problems from a different perspective. If you are not strong or at least familiar with functional programming styles, I would expect to struggle with the concepts presented in the book at first. Chapters 3 and 4 are excellent for understanding how to get started.If you don’t own a book on C++ templates, I would start out with “C++ Templates” by Vandevoorde and Josuttis.If you would like a gentle introduction to meta-programming, start with “Modern C++ Design” by Alexandrescu.I never bought “C++ Template Meta-programming” by Abrahams because it is highly dependent on Boost.MPL.After all of those, if you would like a book to tie all of the pieces together and take you beyond, I believe this book does a great job in that role.

⭐This is not a good book, plain and simple. It’s not written professionally (also check Hao Xiong review), it’s like a hacker listing of a bunch of tricks, they may be useful indeed, and it’s a bit sad for a language one have to know so many, but it’s badly written, badly printed. It was the worst print I got in my hands ever, and I think it’ll be the only one to this point, I mean, it’s literally crooked, it’s not rectangular, its form is like a trapezium, all page contents are “floating”, which means the margins are also irregular, expected since the book itself is irregular. It’s a pretty amateur job.There’s overall lack of organization, you fell like getting trick after trick endlessly.There’s none, zero, mention of variadic templates and modern stuff. This book got released at the same epoch as c++11 and I expected it would talk a bit about it but no, it’s like such a thing didn’t even exist.Mailing the author I got this opinion:Author:>The book is written for c++03.>Most compilers don’t support c++0x, and most companies don’t allow c++0x code.>So this goes against one of the main goals of the book, which is to be>useful TODAY.Me:> With variadic templates, this could be unbounded, allowing you to declare a> variable that can hold an instance of one of 100 types.> And as stated in […] for GCC:> “Available as of 2006-09-13, revised on 2006-09-19″> And in […] for Clang:> “Wed Jan 19 16:11:50 2011 CST: Variadic templates are fully implemented.”Author:>gcc is not a compiler, it’s a mess.Me (actually dreaming):>And in Visual Studio, which I bet will be there, on the next release.Author:>this is what I’m waiting for: when we both have a VS on our>workstation that implements VT, then let’s discuss again.Me:>And when I buy a book that states that advanced, I don’t expect the author>judging what I should *not learn* of advanced technics.Author:>nope, the reason why you buy a book is PRECISELY because the author,>from his experience, is usually able to “judge” (i.e. pick and sort>topics) much better than you would do by yourself. this is exactly why>they invented such things called universities.>what you describe here is probably “the encyclopedia of template>metaprogramming”, which is something that I haven’t written yetI’m so glad there’s clang and gcc, at last they are able to actually work, and evolve.

⭐This is the ultimate book if you want to know something about template metaprogramming in c++

⭐aunque cumple lo prometido ,un par mas de ejemplos por caso no le vendrian mal.me gusta aprender con ejemplos aplicados

Keywords

Free Download Advanced Metaprogramming in Classic C++ in PDF format
Advanced Metaprogramming in Classic C++ PDF Free Download
Download Advanced Metaprogramming in Classic C++ 2015 PDF Free
Advanced Metaprogramming in Classic C++ 2015 PDF Free Download
Download Advanced Metaprogramming in Classic C++ PDF
Free Download Ebook Advanced Metaprogramming in Classic C++

Previous articleC++ Template Metaprogramming: Concepts, Tools, and Techniques from Boost and Beyond 1st Edition by David Abrahams (PDF)
Next articleComputing the Brain: A Guide to Neuroinformatics 1st Edition by Michael A. Arbib (PDF)