C++ Template Metaprogramming

Having almost finished reading "C++ Template Metaprogramming: Concepts, Tools, and Techniques from Boost and Beyond" from cover to cover, I have to admit it’s not only a door that opens a new world before me,  but also a stage that lifts me higher, when I look back, to see things more clear.

Metaprogramming is about computing types to types, what are the points of doing that? Anyway, what we are doing in programming are virtually computing values to values(through functions), and types are actually the bounds that limit us. Without types(impossible to date) or with minimum types(as in dynamic languages like Python), life will seem to be much easier,  think about it, pick a symbol, say a, and use it as a file, a float, a string or whatever you like would be really fun. But it’s only a dream as yet.

Living in today’s world, being able to cross types, even only a few, is a forward step toward the Utopia of type-less world, and kind of liberation. That’s my understanding of the type computing part of metaprogramming.

Metaprogramming is also about integral values, which assists in type computing and crossing the compile-time and run-time world. However,  as we’ve been living long enough with values, this part is not so mind-drilling.

Advertisements
Post a comment or leave a trackback: Trackback URL.

Comments

  • beer delivery nyc  On February 3, 2016 at 5:33 pm

    I’m no longer certain where you are getting your
    information, but great topic. I must spend a while learning more or understanding more.
    Thanks for magnificent info I was looking for this information for my mission.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: