aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libs/kstd/include/kstd/vector10
1 files changed, 5 insertions, 5 deletions
diff --git a/libs/kstd/include/kstd/vector b/libs/kstd/include/kstd/vector
index 41b380e..6af7c12 100644
--- a/libs/kstd/include/kstd/vector
+++ b/libs/kstd/include/kstd/vector
@@ -40,7 +40,7 @@ namespace kstd
explicit vector(size_type n, value_type initial = value_type{})
: _size(n)
, _capacity(n)
- , _data(new value_type[_capacity]{})
+ , _data(_capacity ? new value_type[_capacity]{} : nullptr)
{
std::ranges::fill(*this, initial);
}
@@ -56,7 +56,7 @@ namespace kstd
explicit vector(InputIterator first, InputIterator last)
: _size(std::distance(first, last))
, _capacity(std::distance(first, last))
- , _data(new value_type[_capacity]{})
+ , _data(_capacity ? new value_type[_capacity]() : nullptr)
{
std::ranges::copy(first, last, _data);
}
@@ -69,7 +69,7 @@ namespace kstd
explicit vector(std::initializer_list<value_type> initializer_list)
: _size(initializer_list.size())
, _capacity(initializer_list.size())
- , _data(new value_type[_capacity]{})
+ , _data(_capacity ? new value_type[_capacity]() : nullptr)
{
std::ranges::copy(initializer_list, _data);
}
@@ -85,7 +85,7 @@ namespace kstd
vector(vector<value_type> const & other)
: _size(other._size)
, _capacity(other._capacity)
- , _data(new value_type[_capacity]())
+ , _data(_capacity ? new value_type[_capacity]() : nullptr)
{
std::ranges::copy(other, _data);
}
@@ -104,7 +104,7 @@ namespace kstd
delete[] _data;
_size = other._size;
_capacity = other._capacity;
- _data = new value_type[_capacity]();
+ _data = _capacity ? new value_type[_capacity]() : nullptr;
std::ranges::copy(other, _data);
return *this;
}