Need to watch this at least 3 times before it sinks in !
@mohammadsadeghzadeh67395 ай бұрын
The first time I listened to it, I fell asleep 😂 let's go for the next step
@Skeksis0 Жыл бұрын
14m:33s Arthur says function templates can't be partially specialized, but it appears what he is demonstrating here is actually function overloading. (Not that this takes away from the following implementation: tag dispatch is the right solution here.)
@vladislavkaplan37388 жыл бұрын
Real useful stuff. Thank you very much.
@perfumedsea4 жыл бұрын
very useful presentation and a lot of useful techniques.
@xealit5 ай бұрын
38:20 variadic templates
@pleiadiblu23652 жыл бұрын
Well structured presentation, one step at a time. However, especially the second part is a little rushed through, which makes it hard to follow.
@lukasz23458 жыл бұрын
can't get this exaplest to work with clang3.9 ;]
@thedzu5 жыл бұрын
Too complicated to be useful. Imagine how much time we need to code review and debug. Subtle differences can cause dramatic changes. Still this is a very helpful and informative talk. Most C++ books just includes a very brief intro to template programming, as if it is so easy to use. In fact it’s not.
@fernandolener11065 жыл бұрын
It seems you are new to c++ haha
@tombranson93414 жыл бұрын
Good stuff, but showing the difference of template instantiation and initialization was horrifically confusing.
@michaelkohlhaas44276 жыл бұрын
*Awesome! Thank you!*
@yuehuajia31767 жыл бұрын
Great Talk!
@xealit6 ай бұрын
Damn. I was looking for Scott Meyers or this guy to talk about CRTP and he just skipped the pattern...
@MrSapps8 жыл бұрын
You need to book more time dude! Good stuff though.
@mikakulwant7 жыл бұрын
It is horribly complex.
@andreaspokorny30895 жыл бұрын
Dont say "call it" when all the phones in the room are listening you.. I wonder who had "it" in the contacts?
@Forritouno8 жыл бұрын
Templates still look like black magic to me :/.
@origamibulldoser16188 жыл бұрын
Sigh.... No. No, no, no.
@alexparker77918 жыл бұрын
What's wrong?
@origamibulldoser16188 жыл бұрын
Same old song, I'm sorry to say. It doesn't mesh well with the compilation model. I mean, come on... header only, or write the declaration, declare the specialization, then specialize in the translation unit? Isn't that at best a really verbose work-around because of the compilation model? The syntax is too verbose. Put simply, it's a shame people discovered all these admittedly useful techniques and made them "legacy" before someone had time to redesign templates and produce a moderately palatable language feature. There's no doubt in my mind that a modern language needs a reasonable way to process types, but this can't be the right way to do it. The cognitive load of actually using templates is too high for an average programmer such as myself. The complexity is so staggering I can't even recall what this supposed tool is supposed to help me solve. It's an interesting puzzle, the more advanced C++ stuff, and that makes it fun in its own right, but not very productive. Maybe I'll look into it when I'm retired and have infinite time to get lost in the details. This is a great talk, though.
@alexparker77918 жыл бұрын
What if we were able to abandon all the legacy and start anew; what would such a template system look like?
@leeux8 жыл бұрын
You should think of the template meta-programming machinery as a functional sub-language within the C++ itself. If you can solve a problem by applying a functional approach, odds are that the same solution can be applied as C++ templates too, where you represent actual values of the problem domain as the types themselves, while the "code" is executed by the compiler itself... weird-ugly-syntax notwithstanding :) Also the other part of the problem you mentioned, header only etc... it should be different (and solved, maybe?) when they release C++ modules at last.