vector without reverse iterator not tested yet
This commit is contained in:
parent
2124474c9a
commit
706985d893
5
Makefile
5
Makefile
@ -6,13 +6,12 @@
|
|||||||
# By: apommier <apommier@student.42.fr> +#+ +:+ +#+ #
|
# By: apommier <apommier@student.42.fr> +#+ +:+ +#+ #
|
||||||
# +#+#+#+#+#+ +#+ #
|
# +#+#+#+#+#+ +#+ #
|
||||||
# Created: 2022/10/12 19:45:18 by apommier #+# #+# #
|
# Created: 2022/10/12 19:45:18 by apommier #+# #+# #
|
||||||
# Updated: 2022/10/19 14:25:28 by apommier ### ########.fr #
|
# Updated: 2022/11/16 21:54:17 by apommier ### ########.fr #
|
||||||
# #
|
# #
|
||||||
# **************************************************************************** #
|
# **************************************************************************** #
|
||||||
|
|
||||||
NAME = a.out
|
NAME = a.out
|
||||||
SRCS = tests/stack_test.cpp\
|
SRCS = tests/main.cpp
|
||||||
tests/main.cpp
|
|
||||||
|
|
||||||
|
|
||||||
OBJS = ${SRCS:.cpp=.o}
|
OBJS = ${SRCS:.cpp=.o}
|
||||||
|
|||||||
@ -6,13 +6,15 @@
|
|||||||
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
|
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2022/10/30 16:14:35 by apommier #+# #+# */
|
/* Created: 2022/10/30 16:14:35 by apommier #+# #+# */
|
||||||
/* Updated: 2022/11/14 06:27:37 by apommier ### ########.fr */
|
/* Updated: 2022/11/16 19:21:41 by apommier ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
#ifndef RANDOM_ACCESS_ITERATOR_HPP
|
#ifndef RANDOM_ACCESS_ITERATOR_HPP
|
||||||
# define RANDOM_ACCESS_ITERATOR_HPP
|
# define RANDOM_ACCESS_ITERATOR_HPP
|
||||||
|
|
||||||
|
# include <cstddef>
|
||||||
|
|
||||||
namespace ft
|
namespace ft
|
||||||
{
|
{
|
||||||
template<typename T>
|
template<typename T>
|
||||||
|
|||||||
@ -6,7 +6,7 @@
|
|||||||
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
|
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2022/10/12 19:46:32 by apommier #+# #+# */
|
/* Created: 2022/10/12 19:46:32 by apommier #+# #+# */
|
||||||
/* Updated: 2022/11/14 06:50:18 by apommier ### ########.fr */
|
/* Updated: 2022/11/16 22:42:51 by apommier ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
@ -15,6 +15,11 @@
|
|||||||
|
|
||||||
# include "./iterators/random_access_iterator.hpp"
|
# include "./iterators/random_access_iterator.hpp"
|
||||||
|
|
||||||
|
# include <cstddef>
|
||||||
|
# include <memory>
|
||||||
|
# include <stdexcept>
|
||||||
|
|
||||||
|
|
||||||
namespace ft
|
namespace ft
|
||||||
{
|
{
|
||||||
|
|
||||||
@ -25,18 +30,18 @@ class vector
|
|||||||
//-----------------------------
|
//-----------------------------
|
||||||
//---------MEMBER TYPE---------
|
//---------MEMBER TYPE---------
|
||||||
//-----------------------------
|
//-----------------------------
|
||||||
typedef T value_type;
|
typedef T value_type;
|
||||||
typedef Allocator allocator_type;
|
typedef Allocator allocator_type;
|
||||||
typedef value_type& reference;
|
typedef value_type& reference;
|
||||||
typedef const value_type& const_reference;
|
typedef const value_type& const_reference;
|
||||||
typedef T* pointer;
|
typedef T* pointer;
|
||||||
typedef const T* const_pointer;
|
typedef const T* const_pointer;
|
||||||
typedef ft::random_access_iterator<value_type> iterator;
|
typedef ft::random_access_iterator<value_type> iterator;
|
||||||
typedef const ft::random_access_iterator<value_type> const_iterator;
|
typedef const ft::random_access_iterator<value_type> const_iterator;
|
||||||
typedef std::reverse_iterator<iterator> reverse_iterator;
|
typedef std::reverse_iterator<iterator> reverse_iterator;
|
||||||
typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
|
typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
|
||||||
typedef std::ptrdiff_t difference_type;
|
typedef ptrdiff_t difference_type;
|
||||||
typedef std::size_t size_type;
|
typedef std::size_t size_type;
|
||||||
|
|
||||||
|
|
||||||
//-----------------------------
|
//-----------------------------
|
||||||
@ -47,10 +52,10 @@ class vector
|
|||||||
value_type *_tab;
|
value_type *_tab;
|
||||||
size_type _size;
|
size_type _size;
|
||||||
size_type _capacity;
|
size_type _capacity;
|
||||||
|
|
||||||
allocator_type _alloc;
|
allocator_type _alloc;
|
||||||
ft::random_access_iterator<value_type> _end;
|
//ft::random_access_iterator<value_type> _end;
|
||||||
ft::random_access_iterator<value_type> _start;
|
//ft::random_access_iterator<value_type> _start;
|
||||||
|
|
||||||
//pointer _end_capacity;
|
//pointer _end_capacity;
|
||||||
|
|
||||||
@ -63,14 +68,8 @@ class vector
|
|||||||
{
|
{
|
||||||
_tab = 0;
|
_tab = 0;
|
||||||
_size = 0;
|
_size = 0;
|
||||||
_capacity = 0;
|
_capacity = 0;
|
||||||
//_start = 0;
|
|
||||||
//_end = 0;
|
|
||||||
|
|
||||||
|
|
||||||
_alloc = alloc;
|
_alloc = alloc;
|
||||||
_start = _alloc.allocate(0);
|
|
||||||
_end = _start;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
explicit vector (size_type n, const value_type& val = value_type(), const allocator_type& alloc = allocator_type()): _alloc(alloc) //fill constructor
|
explicit vector (size_type n, const value_type& val = value_type(), const allocator_type& alloc = allocator_type()): _alloc(alloc) //fill constructor
|
||||||
@ -81,36 +80,30 @@ class vector
|
|||||||
|
|
||||||
_alloc = alloc;
|
_alloc = alloc;
|
||||||
_tab = _alloc.allocate(n);
|
_tab = _alloc.allocate(n);
|
||||||
_start = _tab;
|
|
||||||
_size = n;
|
_size = n;
|
||||||
_capacity = n;
|
_capacity = n;
|
||||||
_end = _start + n;
|
|
||||||
while (n--)
|
while (n--)
|
||||||
_alloc.construct(_tab + n, val);
|
_alloc.construct(_tab + n, val);
|
||||||
//_end = _start;
|
|
||||||
//_start + 5;
|
|
||||||
///5 + _start;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//template <class InputIterator>
|
|
||||||
//vector (InputIterator first, InputIterator last, const allocator_type& alloc = allocator_type()) //range constructor
|
|
||||||
//{
|
|
||||||
|
|
||||||
//}
|
|
||||||
|
|
||||||
vector (const vector& x)//copy constructor
|
vector (const vector& x)//copy constructor
|
||||||
{
|
{
|
||||||
|
*this = x;
|
||||||
}
|
}
|
||||||
|
|
||||||
~vector()
|
~vector()
|
||||||
{
|
{
|
||||||
|
if (_tab && _capacity)
|
||||||
|
_alloc.deallocate(_tab, _capacity);
|
||||||
}
|
}
|
||||||
|
|
||||||
vector& operator= (const vector& x)//assignation operator
|
vector& operator= (const vector& x)//assignation operator
|
||||||
{
|
{
|
||||||
|
_tab = x._tab;
|
||||||
|
_size = x._size;
|
||||||
|
_capacity = x._capacity;
|
||||||
|
_alloc = x._alloc;
|
||||||
|
return (*this);
|
||||||
}
|
}
|
||||||
|
|
||||||
//----------------------------------
|
//----------------------------------
|
||||||
@ -122,22 +115,22 @@ class vector
|
|||||||
//-------------------------
|
//-------------------------
|
||||||
iterator begin()
|
iterator begin()
|
||||||
{
|
{
|
||||||
return (_start);
|
return (_tab);
|
||||||
}
|
}
|
||||||
|
|
||||||
iterator end()
|
iterator end()
|
||||||
{
|
{
|
||||||
return (_end);
|
return (_tab + _size);
|
||||||
}
|
}
|
||||||
|
|
||||||
reverse_iterator rbegin()
|
reverse_iterator rbegin()
|
||||||
{
|
{
|
||||||
return (_end);
|
return (_tab + _size);
|
||||||
}
|
}
|
||||||
|
|
||||||
reverse_iterator rend()
|
reverse_iterator rend()
|
||||||
{
|
{
|
||||||
return (_start);
|
return (_tab);
|
||||||
}
|
}
|
||||||
|
|
||||||
//------------------------
|
//------------------------
|
||||||
@ -145,7 +138,7 @@ class vector
|
|||||||
//------------------------
|
//------------------------
|
||||||
size_type size() const
|
size_type size() const
|
||||||
{
|
{
|
||||||
return (_end - _start);
|
return (_size);
|
||||||
}
|
}
|
||||||
|
|
||||||
size_type max_size() const
|
size_type max_size() const
|
||||||
@ -155,18 +148,26 @@ class vector
|
|||||||
|
|
||||||
void resize (size_type n, value_type val = value_type()) //Resizes the container so that it contains n elements.
|
void resize (size_type n, value_type val = value_type()) //Resizes the container so that it contains n elements.
|
||||||
{
|
{
|
||||||
if (n > this->max_size())
|
|
||||||
throw (std::length_error("vector::resize"));
|
if (n < _size)
|
||||||
else if (n < this->size())
|
|
||||||
{
|
{
|
||||||
while (n > this->size())
|
while (n < _size)
|
||||||
{
|
{
|
||||||
_end--;
|
//_end--;
|
||||||
_alloc.destroy(_end);
|
_size--;
|
||||||
|
_alloc.destroy(_tab + _size);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//else // n > size
|
else if (n > _size)
|
||||||
//insert()
|
{
|
||||||
|
this->reserve(n);
|
||||||
|
while (n > _size)
|
||||||
|
{
|
||||||
|
_alloc.construct(_tab + _size, val);
|
||||||
|
//_end++;
|
||||||
|
}
|
||||||
|
_size = n;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
size_type capacity() const
|
size_type capacity() const
|
||||||
@ -176,14 +177,25 @@ class vector
|
|||||||
|
|
||||||
bool empty() const
|
bool empty() const
|
||||||
{
|
{
|
||||||
if (_end == _start)
|
if (!_size)
|
||||||
return (1);
|
return (1);
|
||||||
return(0);
|
return(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
void reserve (size_type n)
|
void reserve (size_type n)
|
||||||
{
|
{
|
||||||
|
if (n > this->max_size())
|
||||||
|
throw (std::length_error("ft::vector::reserve"));
|
||||||
|
else if (n > _capacity)
|
||||||
|
{
|
||||||
|
value_type *tmp;
|
||||||
|
tmp = _alloc.allocate(n, 0);
|
||||||
|
for (int i = 0; _tab + i != _tab + _size; i++)
|
||||||
|
*(tmp + i) = *(_tab + i);
|
||||||
|
_alloc.deallocate(_tab, _capacity);
|
||||||
|
_tab = tmp;
|
||||||
|
_capacity = n;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//------------------------------
|
//------------------------------
|
||||||
@ -213,32 +225,32 @@ class vector
|
|||||||
|
|
||||||
reference front()
|
reference front()
|
||||||
{
|
{
|
||||||
return (*_start);
|
return (*_tab);
|
||||||
}
|
}
|
||||||
|
|
||||||
const_reference front() const
|
const_reference front() const
|
||||||
{
|
{
|
||||||
return (*_start);
|
return (*_tab);
|
||||||
}
|
}
|
||||||
|
|
||||||
reference back()
|
reference back()
|
||||||
{
|
{
|
||||||
return (*_end);
|
return (*(_tab + _size));
|
||||||
}
|
}
|
||||||
|
|
||||||
const_reference back() const
|
const_reference back() const
|
||||||
{
|
{
|
||||||
return (*_end);
|
return (*(_tab + _size));
|
||||||
}
|
}
|
||||||
|
|
||||||
value_type* data()
|
value_type* data()
|
||||||
{
|
{
|
||||||
return (_start);
|
return (_tab);
|
||||||
}
|
}
|
||||||
|
|
||||||
const value_type* data() const
|
const value_type* data() const
|
||||||
{
|
{
|
||||||
return (_start);
|
return (_tab);
|
||||||
}
|
}
|
||||||
|
|
||||||
//-------------------------
|
//-------------------------
|
||||||
@ -247,86 +259,147 @@ class vector
|
|||||||
template <class InputIterator>
|
template <class InputIterator>
|
||||||
void assign (InputIterator first, InputIterator last) //range
|
void assign (InputIterator first, InputIterator last) //range
|
||||||
{
|
{
|
||||||
|
this->clear();
|
||||||
|
while (first < last)
|
||||||
|
{
|
||||||
|
push_back(*first);
|
||||||
|
first++;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void assign (size_type n, const value_type& val) //fill
|
void assign (size_type n, const value_type& val) //fill
|
||||||
{
|
{
|
||||||
|
|
||||||
this->clear();
|
|
||||||
if (n > this->max_size())
|
if (n > this->max_size())
|
||||||
throw (std::length_error("vector::resize"));
|
throw (std::length_error("vector::resize"));
|
||||||
else if (n < this->size())
|
this->clear();
|
||||||
{
|
this->resize(n);
|
||||||
while (n > this->size())
|
while (n--)
|
||||||
{
|
_alloc.construct(_tab + n, val);
|
||||||
_end--;
|
|
||||||
_alloc.destroy(_end);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
//else // n > size
|
|
||||||
//insert()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void push_back (const value_type& val)
|
void push_back (const value_type& val)
|
||||||
{
|
{
|
||||||
//if (!this->max_size() - _size)
|
if (!_capacity)
|
||||||
// ;
|
this->reserve(1);
|
||||||
//throw or alloc
|
else if (_size == _capacity)
|
||||||
//else
|
this->reserve(_size);
|
||||||
//{
|
_alloc.construct(_tab + _size, val);
|
||||||
_alloc.construct(_end.getPointer() - 2, val);
|
_size++;
|
||||||
_size++;
|
|
||||||
_end++;
|
|
||||||
//}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void pop_back()
|
void pop_back()
|
||||||
{
|
{
|
||||||
//if (!_size)
|
if (_size)
|
||||||
// ;
|
{
|
||||||
//throw std::;
|
_alloc.destroy(_tab + _size - 1);
|
||||||
_alloc.destroy(_end - 1);
|
_size--;
|
||||||
_end--;
|
}
|
||||||
_size--;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
iterator insert (iterator position, const value_type& val) //single element
|
iterator insert (iterator position, const value_type& val) //single element
|
||||||
{
|
{
|
||||||
|
this->insert(position, 1, val);
|
||||||
}
|
}
|
||||||
|
|
||||||
void insert (iterator position, size_type n, const value_type& val) //fill
|
void insert (iterator position, size_type n, const value_type& val) //fill
|
||||||
{
|
{
|
||||||
|
int j = 0;
|
||||||
|
int i;
|
||||||
|
value_type *tmp;
|
||||||
|
|
||||||
|
if (_size + n > this->max_size())
|
||||||
|
throw (std::length_error("vector::resize"));
|
||||||
|
tmp = _alloc.allocate(_size + n);
|
||||||
|
for (i = 0; i < position; i++)
|
||||||
|
tmp[i] = _tab[i];
|
||||||
|
while (n - j)
|
||||||
|
{
|
||||||
|
tmp[i + j] = val;
|
||||||
|
j++;
|
||||||
|
}
|
||||||
|
while (_size - i)
|
||||||
|
tmp[i + j] = _tab[i];
|
||||||
|
this->clear();
|
||||||
|
_tab = tmp;
|
||||||
|
_size += n;
|
||||||
|
_capacity = _size;
|
||||||
}
|
}
|
||||||
|
|
||||||
template <class InputIterator>
|
template <class InputIterator>
|
||||||
void insert (iterator position, InputIterator first, InputIterator last) //range
|
void insert (iterator position, InputIterator first, InputIterator last) //range
|
||||||
{
|
{
|
||||||
|
int j = 0;
|
||||||
|
int i;
|
||||||
|
value_type *tmp;
|
||||||
|
|
||||||
|
if (_size + (last - first) > this->max_size())
|
||||||
|
throw (std::length_error("vector::resize"));
|
||||||
|
tmp = _alloc.allocate(_size + (last - first));
|
||||||
|
for (i = 0; i < position; i++)
|
||||||
|
tmp[i] = _tab[i];
|
||||||
|
while (first + j != last)
|
||||||
|
{
|
||||||
|
tmp[i + j] = *(first + j);
|
||||||
|
j++;
|
||||||
|
}
|
||||||
|
while (_size - i)
|
||||||
|
tmp[i + j] = _tab[i];
|
||||||
|
this->clear();
|
||||||
|
_tab = tmp;
|
||||||
|
_size += (last - first);
|
||||||
|
_capacity = _size;
|
||||||
}
|
}
|
||||||
|
|
||||||
iterator erase (iterator position)
|
iterator erase (iterator position)
|
||||||
{
|
{
|
||||||
|
iterator ret = position;
|
||||||
|
_alloc.destroy(position);
|
||||||
|
while (_tab + _size - 1 > position + _tab)
|
||||||
|
{
|
||||||
|
*position = *(position + 1);
|
||||||
|
position++;
|
||||||
|
_alloc.destroy(position);
|
||||||
|
}
|
||||||
|
_size--;
|
||||||
|
return (ret + 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
iterator erase (iterator first, iterator last)
|
iterator erase (iterator first, iterator last)
|
||||||
{
|
{
|
||||||
|
difference_type lenght = last - first;
|
||||||
|
|
||||||
|
for (int i = 0; lenght - i; i++)
|
||||||
|
_alloc.destroy(first + i);
|
||||||
|
while (_tab + _size - 1 != _tab + lenght)
|
||||||
|
{
|
||||||
|
*first = *(first + lenght);
|
||||||
|
first++;
|
||||||
|
_alloc.destroy(first + lenght);
|
||||||
|
}
|
||||||
|
return (last + 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
void swap (vector& x)
|
void swap (vector& x)
|
||||||
{
|
{
|
||||||
|
value_type *tab_tmp = _tab;
|
||||||
|
size_type size_tmp = _size;
|
||||||
|
size_type capacity_tmp = _capacity;
|
||||||
|
allocator_type alloc_tmp = _alloc;
|
||||||
|
|
||||||
|
_tab = x._tab;
|
||||||
|
_size = x._size;
|
||||||
|
_capacity = x._capacity;
|
||||||
|
_alloc = x._alloc;
|
||||||
|
|
||||||
|
x._tab = tab_tmp;
|
||||||
|
x._size = size_tmp;
|
||||||
|
x._capacity = capacity_tmp;
|
||||||
|
x._alloc = alloc_tmp;
|
||||||
}
|
}
|
||||||
|
|
||||||
void clear()
|
void clear()
|
||||||
{
|
{
|
||||||
int i = 0;
|
while (_size)
|
||||||
|
|
||||||
while (_start != _end)
|
|
||||||
this->pop_back();
|
this->pop_back();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -377,9 +450,6 @@ class vector
|
|||||||
// {
|
// {
|
||||||
|
|
||||||
// }
|
// }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -6,7 +6,7 @@
|
|||||||
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
|
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2022/10/12 19:46:33 by apommier #+# #+# */
|
/* Created: 2022/10/12 19:46:33 by apommier #+# #+# */
|
||||||
/* Updated: 2022/10/28 17:39:13 by apommier ### ########.fr */
|
/* Updated: 2022/11/16 19:07:06 by apommier ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
|
|||||||
@ -6,11 +6,20 @@
|
|||||||
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
|
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2022/10/19 14:04:37 by apommier #+# #+# */
|
/* Created: 2022/10/19 14:04:37 by apommier #+# #+# */
|
||||||
/* Updated: 2022/11/14 06:48:31 by apommier ### ########.fr */
|
/* Updated: 2022/11/16 22:18:48 by apommier ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
#include "../ft_containers.hpp"
|
#include "../ft_containers.hpp"
|
||||||
|
#include <sys/time.h>
|
||||||
|
|
||||||
|
long get_time(void)
|
||||||
|
{
|
||||||
|
struct timeval time;
|
||||||
|
|
||||||
|
gettimeofday(&time, NULL);
|
||||||
|
return (time.tv_sec * 1000 + time.tv_usec / 1000);
|
||||||
|
}
|
||||||
|
|
||||||
void stack_tester()
|
void stack_tester()
|
||||||
{
|
{
|
||||||
@ -21,41 +30,28 @@ void stack_tester()
|
|||||||
std::cout << first.size() << std::endl;
|
std::cout << first.size() << std::endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void print_vector(ft::vector<int> x)
|
||||||
|
{
|
||||||
|
std::cout << "-----print vector----\n";
|
||||||
|
for (size_t i = 0; i < x.size(); i++)
|
||||||
|
std::cout << x[i] << std::endl;
|
||||||
|
}
|
||||||
|
|
||||||
void vector_tester()
|
void vector_tester()
|
||||||
{
|
{
|
||||||
//ft::vector<int> first;
|
|
||||||
ft::vector<int> first(5, 3);
|
ft::vector<int> first(5, 3);
|
||||||
|
ft::vector<int> second;
|
||||||
|
ft::vector<int>::iterator it = first.begin();
|
||||||
std::cout << "------empty------\n";
|
std::cout << "------empty------\n";
|
||||||
std::cout << first.empty() << std::endl;
|
std::cout << first.empty() << std::endl;
|
||||||
|
std::cout << second.empty() << std::endl;
|
||||||
std::cout << "------size------\n";
|
std::cout << "------size------\n";
|
||||||
std::cout << first.size() << std::endl;
|
std::cout << first.size() << std::endl;
|
||||||
std::cout << "------pushback then size------\n";
|
std::cout << "------pushback then size------\n";
|
||||||
first.push_back(5);
|
first.push_back(5);
|
||||||
std::cout << first.size() << std::endl;
|
std::cout << first.size() << std::endl;
|
||||||
std::cout << "------------\n";
|
|
||||||
|
|
||||||
// std::cout << first[1] << std::endl;
|
|
||||||
// std::cout << "------1------\n";
|
|
||||||
// std::cout << first.at(1) << std::endl;
|
|
||||||
// std::cout << "-------2-----\n";
|
|
||||||
// std::cout << first.at(2) << std::endl;
|
|
||||||
// std::cout << "-------3-----\n";
|
|
||||||
// std::cout << first.at(3) << std::endl;
|
|
||||||
// std::cout << "-------4-----\n";
|
|
||||||
// std::cout << first.at(4) << std::endl;
|
|
||||||
// std::cout << "-------5-----\n";
|
|
||||||
|
|
||||||
// std::cout << first.at(0) << std::endl;
|
|
||||||
// std::cout << "--------6----\n";
|
|
||||||
// std::cout << first.at(6) << std::endl;
|
|
||||||
// std::cout << "------------\n";
|
|
||||||
|
|
||||||
std::cout << "------for------\n";
|
std::cout << "------for------\n";
|
||||||
for (size_t i = 0; i < first.size(); i++)
|
print_vector(first);
|
||||||
{
|
|
||||||
std::cout << first[1] << std::endl;
|
|
||||||
// std::cout << "------------\n";
|
|
||||||
}
|
|
||||||
std::cout << "-------0-----\n";
|
std::cout << "-------0-----\n";
|
||||||
std::cout << first.at(5) << std::endl;
|
std::cout << first.at(5) << std::endl;
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user