给出vector中size()的函数代码
时间: 2024-03-15 13:47:27 浏览: 30
下面是C++中vector的size()函数的代码示例:
```c++
#include <iostream>
#include <vector>
int main() {
std::vector<int> vec{1, 2, 3, 4, 5}; // 定义一个vector
std::cout << "vec的大小为:" << vec.size() << std::endl; // 调用size()函数,输出vector的大小
return 0;
}
```
输出结果:
```
vec的大小为:5
```
说明:vector的size()函数返回vector中元素的个数,即vector的大小。在上面的示例中,vector vec 中共有5个元素,因此调用vec.size()函数返回值为5。
相关问题
给出vector的函数代码
下面是C++中vector的一些常用函数代码示例:
```c++
#include <iostream>
#include <vector>
int main() {
std::vector<int> vec{1, 2, 3, 4, 5}; // 定义一个vector
// 访问vector中的元素
std::cout << "vec的第一个元素为:" << vec[0] << std::endl;
std::cout << "vec的第二个元素为:" << vec.at(1) << std::endl;
std::cout << "vec的最后一个元素为:" << vec.back() << std::endl;
// 在vector末尾添加元素
vec.push_back(6);
std::cout << "vec的大小为:" << vec.size() << std::endl; // 输出vector的大小
// 在vector中插入元素
vec.insert(vec.begin() + 2, 7); // 在第3个位置插入元素7
std::cout << "vec的第3个元素为:" << vec[2] << std::endl; // 输出第3个元素
// 从vector中删除元素
vec.erase(vec.begin() + 3); // 删除第4个元素
std::cout << "vec的大小为:" << vec.size() << std::endl; // 输出vector的大小
// 清空vector
vec.clear();
std::cout << "vec的大小为:" << vec.size() << std::endl; // 输出vector的大小
return 0;
}
```
输出结果:
```
vec的第一个元素为:1
vec的第二个元素为:2
vec的最后一个元素为:5
vec的大小为:6
vec的第3个元素为:7
vec的大小为:5
vec的大小为:0
```
说明:上面的代码演示了vector的一些常用函数,包括访问元素、添加元素、插入元素、删除元素和清空vector等。需要注意的是,访问元素时可以使用下标运算符[]或者at()函数;添加元素时可以使用push_back()函数,在vector末尾添加一个元素;插入元素时可以使用insert()函数,在vector的任意位置插入一个元素;删除元素时可以使用erase()函数,删除vector中的任意一个元素;清空vector时可以使用clear()函数,清空vector中的所有元素。
给出vector中size()的实现代码
vector的size()函数实现比较简单,可以直接返回vector的成员变量`size_`的值。下面是一个简单的vector类示例,其中包含了size()函数的实现:
```c++
#include <iostream>
#include <cstring>
template <typename T>
class Vector {
public:
Vector() : data_(nullptr), size_(0), capacity_(0) {}
~Vector() { delete[] data_; }
// 返回vector中元素的个数
size_t size() const { return size_; }
// 在vector末尾添加一个元素
void push_back(const T& val) {
if (size_ == capacity_) {
reserve(capacity_ == 0 ? 1 : capacity_ * 2);
}
data_[size_++] = val;
}
// 重载下标运算符
T& operator[](size_t i) { return data_[i]; }
const T& operator[](size_t i) const { return data_[i]; }
private:
T* data_; // 存储vector中的元素
size_t size_; // vector中元素的个数
size_t capacity_; // vector分配的内存空间大小
// 分配足够的内存空间
void reserve(size_t n) {
if (n <= capacity_) {
return;
}
T* new_data = new T[n];
if (data_) {
for (size_t i = 0; i < size_; ++i) {
new_data[i] = data_[i];
}
delete[] data_;
}
data_ = new_data;
capacity_ = n;
}
};
int main() {
Vector<int> vec; // 定义一个int类型的vector
std::cout << "vec的大小为:" << vec.size() << std::endl; // 输出vector的大小
vec.push_back(1); // 在vector末尾添加元素1
std::cout << "vec的大小为:" << vec.size() << std::endl; // 输出vector的大小
vec.push_back(2); // 在vector末尾添加元素2
std::cout << "vec的大小为:" << vec.size() << std::endl; // 输出vector的大小
std::cout << "vec的第一个元素为:" << vec[0] << std::endl; // 访问vector中的第一个元素
std::cout << "vec的第二个元素为:" << vec[1] << std::endl; // 访问vector中的第二个元素
return 0;
}
```
输出结果:
```
vec的大小为:0
vec的大小为:1
vec的大小为:2
vec的第一个元素为:1
vec的第二个元素为:2
```
说明:上面的代码演示了一个简单的vector类的实现,其中包含了size()函数的实现。size()函数直接返回vector中元素的个数,即成员变量`size_`的值。另外,该vector类还实现了在vector末尾添加元素的push_back()函数和重载下标运算符[]。需要注意的是,当vector中的元素个数等于分配的内存空间大小时,需要重新分配足够的内存空间,以便继续添加元素。