fixing the readme

This commit is contained in:
Jidong Xiao
2024-02-06 00:38:45 -05:00
parent 6659fcdf9b
commit db103435f5
2 changed files with 25 additions and 4 deletions

View File

@@ -167,6 +167,26 @@ Add several test cases to test_vec.cpp to show that the function works as expect
notation of your solution in terms of n the size of the vector, and e the number of occurences of the input
element in the vector?
*Note*: when you are in a non-member function, and you want to use the iterator, which is a member type of the Vec<T> class, you have to use the typename keyword before the Vec<T>:: scope. For example, if you want to define an iterator named *itr*, you can do it like this:
```console
typename Vec<T>::iterator itr
```
without this typename keyword, if you define the iterator *itr* like this:
```console
Vec<T>::iterator itr
```
you will get a compiler error saying:
```console
error: need typename before Vec<T>::iterator because Vec<T> is a dependent scope
```
And the reason that this keyword typename is needed, is because without it, the compiler would think that Vec&lt;T&gt;::iterator is a member variable of the Vec&lt;T&gt; class, but this *typename* explicitly tells the compiler that Vec&lt;T&gt;::iterator is a type, rather than a member variable.
**To complete this checkpoint**, show a TA your debugged solution for remove_matching_elements and
be prepared to discuss the order notation of the function.
@@ -174,8 +194,8 @@ be prepared to discuss the order notation of the function.
*estimate: TBD*
Add a print member function to Vec to aid in debugging. (Note, neither remove_matching_elements nor
print are not part of the STL standard for vector). You should print the current information stored in the
variables m_alloc, m_size, and m_data. Use the print function to confirm your remove_matching_elements
print are part of the STL standard for vector). You should print the current information stored in the
variables capacity, m_size, and m_data. Use the print function to confirm your remove_matching_elements
function is debugged. Also, write a test case that calls push_back many, many times (hint, use a for loop!)
and observe how infrequently re-allocation of the m_data array is necessary.
To verify your code does not contain memory errors or memory leaks, use Valgrind and/or Dr. Memory on

View File

@@ -124,8 +124,9 @@ v[0] = 13.1; v[2] = 3.14;
Vec<double> u(v);
u[2] = 6.5;
u[3] = -4.8;
for (unsigned int i=0; i<4; ++i)
cout << u[i] << " " << v[i] << endl;
for (unsigned int i=0; i<4; ++i){
std::cout << u[i] << " " << v[i] << std::endl;
}
```
Explain what happens by drawing a picture
of the memory of both u and v.