So let me display a few things that change in C++, and in some ways makes it easier to learn than C. Well, we already saw what is the use of iostream. You could call it the dropping of the dot H. These are all parts of the standard library. So there's a lot of extension to the standard library. It includes sealed C library. Typically, when there's an old C library, you'll see it as C math or C standard IO. So there'll be a C prefacing the rest of the name that was similar to the name, the same as the name for the C community. We've already seen this, I would call simpler and more intuitive IO. C out prints a message, C in sends a value to x. No need for the stuff that scanf does where it needs an ampersand of x. Rest of line comment is now in most C compilers. So some things have been adopted in the C compilers. In line for optimizations, though in terms of modern compiler technology, probably don't really need to specify that. If you want high optimization levels, you can specify them in the compiler with a special flag. Here's something nifty. For expression allows a local declaration. So you know we're always in old C, declaring things like int i and j and k, then later using them in For statements. Here, we use some locally in the For statement by allowing this expression to be a declaration. So we say int i is declared and it's initialized to zero i less than n, auto increment i. Then inside here, i may be used, but i cannot be used outside of there. That i is scoped to this For statement. Now, the thing about declarations is they can occur anywhere in the code essentially. So you can put a declaration. Let's say there was executable code here, and then you needed a variable area, you declare it, and you use it, and it's being declared near where it's being used. That many times age readability, though it's still quite okay to declare all of the variables of that of the block with appropriate comments. There's something we call the inferred typing. There's a redefinition of the keyword auto, so that differs from what it meant in C, and C is really unused. But here we can say a declaration auto i assign three, and because this three is a literal that's an integer, the compiler can figure out that i should be declared an int, or in this case, auto x equal 3.0, the compiler will declare that to be a double. This is sometimes known as duck typing. It's available online, which is like Python. It quacks like a duck, walks like a duck, it probably is a duck. So the compiler makes that determination for you. That's normally not that useful, and in fact in simple types, it's better to keep the normal type declaration. But it turns out if you're going to use advanced parts of C++, there will be very complicated decorations, and they're allowing the compiler to infer it as frequently helpful. Another big advantage that sometimes makes the language user use, is there's a substantial additional library. It's called the standard template library. In this standard template library, it adds what are called many container classes. Things like lists and stacks occur there, they're considered containers, and especially important is something called a vector, which is a generalization of an array. Along with the containers, there are many very efficient algorithms to either use those containers or frequently are just very useful in a lot of domains, so you don't have to re-code them. So the container that I already said is most useful, where you can probably get 80 or 90 percent of your value. So remember Dr. P's value rules, some things gives you 90 percent of what you need to know. Vector is one such thing. So vector is a powerful and flexible array. It's an extension. It's a generalization of an efficient array. Which means it can be index, so you can randomly access the element. But it will also turn out to have very simple ways to march through the whole array or even some parts of the array without even having to do normal indexing. So you won't necessarily get what we call off-by-one errors. So we're going to also show some code using this. Code will look like vector of int. Instead of int a, N, we'll say vector of brackets int, there will be a type in here. That's the type to be stored in that vector. Then we give it a identifier name. So that's the vector name, and then some initialization like this is telling it, set it up with n elements. We'll shortly show code that demos why this improves over the ordinary raw arrays found in the C language.