Now, lo and behold, C++11 allows for new features. And allows us to change the idiom up in a, in a more convenient way. So I'm going to start showing you that. And we're going to start having a combination of the older style. And I want you to keep in mind that in the next few years, we are going to see more and more compilers, which are compatible with the new standard and you should be able to start really taking advantage of it. Hopefully, currently in wide use, starting to be in wide use is the current version of the gnu compiler. So I believe that's g++4.8, and I believe that does implement most features of the new standard. So what are we seeing here? We're seeing how to collapse what is a fairly cumbersome declaration, a lot of typing. Well, that's quite appropriate, I'm talking about keystrokes, but I'm also talking about having the right type. And, and it's, it's frequently easy to make an error or forget something in this kind of complicated syntax. So now, "auto" has a new meaning. This is not its original meaning in the C language. The meaning in the original C language is deprecated. Deprecated is legal speak in programming language standards committees for no longer supported. So, the meaning of auto has been completely changed, and auto now means infer type. So, that means that the type must be inferable. I mean, auto isn't going to work if there isn't a way to understand the type. But if there's a way to understand the type, and there is. This is an expression. The compiler knows what type this expression is. It turns out it's a vector iterator. So at the point where the compiler knows what that type is, it just instead of having to specify it you just say auto. Much more convenient. Let the compiler do the work and let the compiler do the work safely. In the very early days, it was what was called the storage specifier. auto in the early day of C, that's worth remembering was a storage specifier that said, put this automatically on the, on the stack. And indeed in most instances nobody used it, because it was redundant. You would just say int i rather than auto int i. So, the old use was never in use. You could go back to Kernigan and Richie, is the original C programming language book, and try and find a use within the book of auto. And as far as I know, they didn't include auto in any real code throughout the original book that defined the language. So here's some more examples of how auto could be used. They're fairly straight forward. There are indeed way more complicated ones, and you can see how inference works. The first one, it's an alternative to saying int i. The second one's an alternative to saying double. The third one is an alternative, in this case, to say double. But let's look at the third one in more detail. So in general, whatever "d" is, would have a type. And if it was a type that was fairly complicated to specify, then this avoids respecifying what might be a complicated type. It might be some kind of template, iterator type, could be anything. So as long as we know the type or can infer it. Now, we couldn't just say "auto i ; " right? No information to do the deduction, so that would lead to a syntax error. So again, auto should become something in your repertoire, because it makes things simpler for you. So, just so you can check, here's a very simple use of auto again, and you have to tell me what type is inferred for the variable c. the answer in that previous case was of course c is a char type. char.