# 2. Going Beyond the Basics

- [2.1 Vector Basics](/c++/2.-going-beyond-the-basics/2.1-vector-basics.md)
- [2.1.1 Vector Basics](/c++/2.-going-beyond-the-basics/2.1-vector-basics/2.1.1-vector-basics.md)
- [2.1.2 Creating and Accessing Vectors](/c++/2.-going-beyond-the-basics/2.1-vector-basics/2.1.2-creating-and-accessing-vectors.md)
- [2.1.3 Inserting into a Vector](/c++/2.-going-beyond-the-basics/2.1-vector-basics/2.1.3-inserting-into-a-vector.md)
- [2.1.4 Looping Through a Vector](/c++/2.-going-beyond-the-basics/2.1-vector-basics/2.1.4-looping-through-a-vector.md)
- [2.2 Function Default Values](/c++/2.-going-beyond-the-basics/2.2-function-default-values.md)
- [2.2.1 Function Default Values](/c++/2.-going-beyond-the-basics/2.2-function-default-values/2.2.1-function-default-values.md)
- [2.2.2 Default Values](/c++/2.-going-beyond-the-basics/2.2-function-default-values/2.2.2-default-values.md)
- [2.2.3 Default Values with a Prototype](/c++/2.-going-beyond-the-basics/2.2-function-default-values/2.2.3-default-values-with-a-prototype.md)
- [2.2.4 Example: Splitting a String](/c++/2.-going-beyond-the-basics/2.2-function-default-values/2.2.4-example-splitting-a-string.md)
- [2.3 Structs](/c++/2.-going-beyond-the-basics/2.3-structs.md)
- [2.3.1 Structs](/c++/2.-going-beyond-the-basics/2.3-structs/2.3.1-structs.md)
- [2.3.2 Defining and Accessing Structs](/c++/2.-going-beyond-the-basics/2.3-structs/2.3.2-defining-and-accessing-structs.md)
- [2.3.3 Using Structs: Line Length](/c++/2.-going-beyond-the-basics/2.3-structs/2.3.3-using-structs-line-length.md)
- [2.4 File Input/Output](/c++/2.-going-beyond-the-basics/2.4-file-input-output.md)
- [2.4.1 File Input/Output](/c++/2.-going-beyond-the-basics/2.4-file-input-output/2.4.1-file-input-output.md)
- [2.4.2 Reading in a File](/c++/2.-going-beyond-the-basics/2.4-file-input-output/2.4.2-reading-in-a-file.md)
- [2.4.3 Processing a File](/c++/2.-going-beyond-the-basics/2.4-file-input-output/2.4.3-processing-a-file.md)
- [2.4.4 Writing to a File](/c++/2.-going-beyond-the-basics/2.4-file-input-output/2.4.4-writing-to-a-file.md)
- [2.4.5 Creating an Input Stream from a String](/c++/2.-going-beyond-the-basics/2.4-file-input-output/2.4.5-creating-an-input-stream-from-a-string.md)
- [2.5 Error Handling](/c++/2.-going-beyond-the-basics/2.5-error-handling.md)
- [2.5.1 Error Handling](/c++/2.-going-beyond-the-basics/2.5-error-handling/2.5.1-error-handling.md)
- [2.5.2 Validating a Number](/c++/2.-going-beyond-the-basics/2.5-error-handling/2.5.2-validating-a-number.md)
- [2.5.3 Validating a Vector Index](/c++/2.-going-beyond-the-basics/2.5-error-handling/2.5.3-validating-a-vector-index.md)
- [2.5.4 Throwing Other Values](/c++/2.-going-beyond-the-basics/2.5-error-handling/2.5.4-throwing-other-values.md)
